psコマンドのメモリ(rss)がtopコマンドに表示されるメモリと異なるのはなぜですか?

psコマンドのメモリ(rss)がtopコマンドに表示されるメモリと異なるのはなぜですか?

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+

人気プログラム4906M

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 RSSを表示2430728(知識ベース)

ベストアンサー1

最も可能性の高い理由は、psが常駐メモリを表示するのに対して、topは合計メモリまたは仮想メモリ(たとえば、交換および共有メモリを含む)を表示するためです。

これを含む多くの質問があります。https://stackoverflow.com/questions/7880784/what-is-rss-and-vsz-in-linux-memory-managementしかし、そのため、ここでは異なる価値観を持っています。

おすすめ記事