![Por que a memória (rss) do comando ps é diferente da memória vista no comando top?](https://rvso.com/image/170281/Por%20que%20a%20mem%C3%B3ria%20(rss)%20do%20comando%20ps%20%C3%A9%20diferente%20da%20mem%C3%B3ria%20vista%20no%20comando%20top%3F.png)
Aqui no MacOS Catalina, ao verificar o uso de memória de um processo vejo que o ps
comando mostra um valor RSS diferente do uso de memória mostrado acima:
$> 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+
MEM -> 37 milhões
Por que essa diferença?
ATUALIZAR:
Outro exemplo com processo 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+
Principais programas4906M
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
ps mostra RSS2430728(KB)
Responder1
A razão mais provável é que ps esteja mostrando a memória residente enquanto top esteja mostrando a memória total ou virtual (por exemplo, incluindo trocada e compartilhada).
Há muitas perguntas sobre isso, incluindohttps://stackoverflow.com/questions/7880784/what-is-rss-and-vsz-in-linux-memory-managementmas é por isso que aqui são valores diferentes.