Здесь, в MacOS Catalina, при проверке использования памяти процессом я вижу, что ps
команда показывает значение RSS, которое отличается от использования памяти, показанного вверху:
$> 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+
МЕМ -> 37M
Почему такая разница?
ОБНОВЛЯТЬ:
Еще один пример с процессом 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+
Лучшие шоу4906М
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
пс показывает RSS2430728(КБ)
решение1
Наиболее вероятная причина в том, что ps показывает резидентную память, а top — общую или виртуальную память (например, включая выгруженную и общую).
По этому поводу возникает много вопросов, в том числеhttps://stackoverflow.com/questions/7880784/что-такое-rss-и-vsz-в-linux-управлении-памятьюно именно поэтому здесь и существуют разные ценности.