¿Cómo leer el uso de memoria en htop?

30

Es mi salida htop:

ingrese la descripción de la imagen aquí

Por ejemplo, estoy confundido con este script ruby:

ingrese la descripción de la imagen aquí

¿Cuánta memoria física está usando? 3+1+8+51+51? 51? 51+51?

Lai Yu-Hsuan
fuente
Entonces la REScolumna es la que desea ver.
David Schwartz
Sí, lo estoy mirando. ¿Pero cuál es el uso de memoria de mi script? ¿Por qué hay dos 51s? ¿Consume 102 megabytes? ¿O solo 51 megabytes? En los procesos RES exterior contiene las RES proceso interno, por qué el 3, 1, 8son todos menos de 51?
Lai Yu-Hsuan
2
Hay dos 51 porque el proceso se bifurcó. Lo más probable es que no consuma 102 megabytes porque los dos procesos están usando los mismos 51 megabytes, pero no se puede ver fácilmente. El otro proceso RES contiene el proceso interno si esa memoria también reside en el otro proceso y no si no lo hace. Los campos RES le indican cuánta memoria física está usando cada proceso, pero otros procesos pueden (o no) estar usando esa misma memoria física también.
David Schwartz
1
Si desea saber si los dos procesos están usando la misma memoria, use pmap -d <Id. De proceso>
Sirch
1
@ LaiYu-Hsuan: Sí, te equivocas. Las páginas no se copian, se comparten. Solo se copian si cualquiera de los procesos escribe en la página, luego deben ser compartidos. (Se llama "copy on write" o "CoW".)
David Schwartz

Respuestas:

45

Oculte los hilos de usuario (shift + H) y cierre la vista de árbol de proceso (F5), luego puede ordenar el proceso de su interés por PID y leer la columna RES (ordenar por MEM% presionando shift + M, o F3 para buscar en línea cmd)

nrc
fuente
44
Shift-H es lo que he estado buscando durante años. ¡Gracias!
un nerd pagado el
4

La memoria es algo difícil, no puede calcular la memoria física usada simplemente ejecutando ps / htop / top. La memoria se puede compartir entre procesos.

Le recomiendo que compruebe el uso con este script:

http://www.pixelbeat.org/scripts/ps_mem.py

GioMac
fuente