¿Cómo puedo encontrar la memoria total asignada para un proceso en particular en Ubuntu?
¿Cómo puedo encontrar la memoria total asignada para un proceso en particular en Ubuntu?
Respuestas:
Tratar:
pidof bash | xargs ps -o rss,sz,vsz
Para encontrar el uso de memoria de su bash
shell actual (suponiendo que esté usando bash
). Cambia bash
a lo que sea que estés investigando. Si buscas un proceso específico, simplemente úsalo solo:
ps -o rss,sz,vsz <process id>
De la man
página:
RSS
: tamaño de conjunto residente, la memoria física no intercambiada que una tarea ha utilizado (en kilobytes).
SZ
: tamaño en páginas físicas de la imagen central del proceso. Esto incluye texto, datos y espacio de pila.
VSZ
: tamaño de memoria virtual del proceso en KiB (unidades de 1024 bytes).
La man
página para ps
mostrará una lista de todos los argumentos posibles de la -o
opción (hay bastantes para elegir). En lugar de -o rss,sz
usar la v
opción de estilo BSD (sin guión) que muestra un diseño de memoria alternativo.
Puede usar lo pmap
que muestra el mapa de memoria de un proceso:
pmap -p pid
Para obtener más información al respecto, consulte la página de manual man pmap
o eche un vistazo a pmap (1): informe del mapa de memoria del proceso: página de manual de Linux .
¿Cómo averiguar la memoria total asignada para un proceso particular en ubuntu?
No define cuál es la memoria asignada para un proceso, y en realidad esa es una pregunta bastante compleja (qué pasa con las asignaciones de memoria compartida - vea mmap (2) para más detalles; qué pasa con la memoria compartida POSIX - vea shm_overview (7) para más información) ; ¿qué pasa con algunas páginas en la caché de páginas utilizadas para archivos abiertos; etc ...)
Se podría utilizar el /proc/
sistema de archivos (que por cierto es utilizado por ps
, pmap
, top
, htop
etc ....). Lea proc (5) para más información. En particular, para el proceso de pid 1234 se puede utilizar /proc/1234/status
, /proc/1234/statm
, /proc/1234/maps
etc ... Todos ellos son pseudo-archivos de texto (un poco como tuberías) que se pueden ver con cat
(o leer secuencialmente dentro de algún programa). Por cierto, desde el interior de un programa que puede utilizar /proc/self
(que es un pseudoenlace simbólico), por ejemplo, leer de forma secuencial, /proc/self/status
etc.
Ver también LinuxAteMyRam .