Si ejecuto top -c
u htop
obtengo procesos con su consumo de memoria, pero no es lo que quiero ver.
¿Existe una línea de comando que permita ver el consumo de RAM de una aplicación determinada?
Por ejemplo, quiero ver el consumo de RAM del servidor web Apache (en cambio, no comprobando todos los procesos que ejecuta)
10
Respuestas:
Aquí hay una muy buena explicación detallada: https://blogs.kde.org/2005/09/15/measuring-memory-usage
Pero esencialmente: tienes que profundizar y comprender cómo está configurada la aplicación.
Entonces, por ejemplo, mirando mysql:
La memoria total utilizada es de aproximadamente 25 MB (Tome la RES de 27 MB y reste la compartida (SHR))
Validé esto comprobando el uso total de memoria (free -m, + / buffers / cache) antes y después de emitir un "killall mysqld". Después de eliminar todos los procesos de mysqld, el uso de memoria se redujo en 25 MB según "free -m".
Si ve que cada proceso tiene columnas VIRT, RES y SHR idénticas, es probable que solo sean hilos del mismo proceso. (Las bibliotecas antiguas de Linux manejaban el subproceso generando múltiples procesos reales que esencialmente ocupaban la misma memoria)
Si son diferentes, puede estimarlo haciendo una SUMA de (RES - SHR). Pero eso solo funciona si los procesos son de hecho procesos separados y no solo hilos del mismo proceso. Mirar el PPID (ID del proceso principal) también ayuda. Si todos tienen el mismo padre, probablemente sean solo hilos (aunque no necesariamente).
Desafortunadamente, no hay una forma fácil y buena de responder esto en Linux. La única forma fácil es marcar "gratis" inmediatamente antes de finalizar el proceso y volver a verificarlo inmediatamente después. mire la línea "- / + buffers / cache:" y vea cuánto disminuyó el uso de memoria y eso le dirá cuánto estaba usando.
fuente
Con un poco de ayuda
man ps
y esta gran respuesta ...Por ejemplo:
Otras maneras:
Esto se puede ejecutar sin
-x
ytail -1
:solo muestra porcentaje:
Además, mientras usa
top
puede presionar ipara ignorar los procesos inactivos / zombies para que sea más fácil de leer:fuente
pmap
muestra muchas cosas sobre los recursos que utiliza el PID. La información se proporciona en función del nombre del proceso y el PID que se encuentra utilizandopidof
, por lo que el proceso principal se muestra si el nombre que proporciona (creo, no sé si se refiere a procesos principales)