Esta pregunta está cubierta aquí con gran detalle.
¿Cómo se mide el uso de memoria de una aplicación o proceso en Linux?
Del artículo de blog de Comprender el uso de memoria en Linux , ps
no es una herramienta precisa para usar con este propósito.
¿Por qué
ps
está "mal"Dependiendo de cómo lo mire,
ps
no informa el uso de memoria real de los procesos. Lo que realmente está haciendo es mostrar cuánta memoria real ocuparía cada proceso si fuera el único proceso en ejecución . Por supuesto, una máquina Linux típica tiene varias docenas de procesos ejecutándose en un momento dado, lo que significa que los números VSZ y RSS informados porps
son casi definitivamente incorrectos .
ps
, ni siquiera muestra eso: muestra números de memoria virtual y residente, donde virtual es la cantidad máxima de memoria que el proceso podría usar teóricamente, era el único proceso (nunca), usaba cada página que asignaba (nunca sucede) y no asignó ni desasignó ninguna página (poco probable). Mientras que el residente muestra la cantidad de memoria virtual asignada a la física en este momento. virt > usage > res
Sin embargo, típicamente en un sistema de 64 bits virt ~= res*10
es un rango muy amplio.