¿Por qué la memoria (rss) del comando ps es diferente a la memoria que se ve en el comando superior?

¿Por qué la memoria (rss) del comando ps es diferente a la memoria que se ve en el comando superior?

Aquí en MacOS Catalina, al verificar el uso de memoria de un proceso, veo que el pscomando muestra un valor RSS que es diferente del uso de memoria que se muestra en la parte superior:

$> ps e -o command,vsize,rss,%mem|grep "myapplication"|head -n 1
myapplication  4594896  51364  0.3

RSS -> 51364

top
PID    COMMAND       %CPU TIME    #TH             #WQ  #PORT MEM    
48106  myapplication 115.7        09:06.12 69/1   1    101   37M+

MEMORIA -> 37M

¿Por qué esta diferencia?

ACTUALIZAR:

Otro ejemplo con el proceso IntelliJ:

top -pid 357
PID  COMMAND      %CPU TIME     #TH   #WQ  #POR MEM    PURG CMPRS  PGRP PPID STATE    BOOSTS        %CPU_ME %CPU_OTHRS UID       FAULTS    COW   MSGSENT  MSGRECV  SYSBSD
357  idea         2.6  03:16:46 112   1    925  4906M  0B   1583M  357  1    sleeping  0[2884]      0.00000 0.00000    281451937 28337096  54627 8404446+ 2733245+ 156093159+

espectáculos principales4906M

ps aux
USER               PID  %CPU %MEM        VSZ    RSS   TT  STAT STARTED      TIME COMMAND

xxxxxxx            357   3.6 14.5 180050484 2430728   ??  S     1:44PM 196:48.70 /Applications/IntelliJ IDEA.app/Contents/MacOS/idea -psn_0_73746

PD muestra RSS2430728(KB)

Respuesta1

La razón más probable es que ps muestra la memoria residente mientras que top muestra la memoria total o virtual (por ejemplo, incluida la intercambiada y compartida).

Hay muchas preguntas sobre esto, incluyendohttps://stackoverflow.com/questions/7880784/what-is-rss-and-vsz-in-linux-memory-managementpero es por eso que aquí son valores diferentes.

información relacionada