2012-11-10 28 views
2

當我執行'ps -auxwww'時,它顯示X使用大約342M的內存。'ps'和'top'顯示單個進程不同的內存使用情況

USER  PID %CPU %MEM VSZ RSS TTY  STAT START TIME COMMAND 
[...] 
root  2009 1.0 5.1 342564 105012 tty7 Rs+ Oct08 469:24 X :0 
[...] 

然而, '頂' 顯示有關1358M:

PID USER  PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 
[...] 
2009 root  20 0 1358m 102m 14m S 0.3 5.1 469:24.27 X 
[...] 

爲什麼,哪一個是正確的?

我見過的帖子重新「頂」和「S」是不同的(因爲共享內存) 「使用的總內存」,而不是爲什麼會發生在一個單一的 過程。

編輯:事實證明,即使沒有「ps -eo」選項會給什麼頂部給。

回答

4

頂部包括什麼緩存緩存和什麼。 PS沒有。如果您想要應用程序的實際使用情況,請使用ps。如果您希望應用程序使用的總數包括系統爲其保留的內容。請使用top

+0

好的,但如果top顯示1358M,是否意味着這些1358M不適用於任何其他進程? – barrycarter

+0

正確,因爲即使'ps'顯示的物理用量較少(342M),請查看內存使用率的百分比,這是相同的。 '5.1%''ps'只是讓你知道'process'正在使用什麼,而不是'process + system for process reserve''',如果你想知道剩下多少用於其他應用程序。 – Zak

+0

我不認爲有什麼辦法可以告訴一個過程:「不要預留更多你需要的記憶,你的記憶豬!」 – barrycarter

相關問題