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 , psno es una herramienta precisa para usar con este propósito.
¿Por qué
psestá "mal"Dependiendo de cómo lo mire,
psno 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 porpsson 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 > resSin embargo, típicamente en un sistema de 64 bits virt ~= res*10es un rango muy amplio.
