Linux

top 少數程序記憶體總和大於100%

  • January 23, 2013

我正在嘗試計算 AMP 在 LAMP 堆棧機器中使用的記憶體量。

top -bn1 | grep -E '(mysql|httpd|php)' | awk '{mem += $(NF-2)} END {print mem}'

但是使用上述命令生成的總和大於 100%,但我預計會低於 100%,因為各個程序的記憶體使用量已經以 % by 表示top

請幫助我了解是否top不能以這種方式使用報告的記憶體來計算記憶體使用量?

%MEM 欄位是程序使用的物理記憶體頁數乘以 100 除以物理記憶體的總頁數。它沒有理由總和為 100 - 考慮十個程序都使用相同的物理記憶體頁面。

您可能還有一個錯誤的版本,top它將 %MEM 計算為 VSZ/mem 而不是 RSS/mem。找出這些產生不同結果的情況,並確保最高值是 RSS/mem。

用於top -v查看您是否有 top 的 BusyBox 版本。這往往比 procps 版本更錯誤。

引用自:https://serverfault.com/questions/471757