Linux
top 少數程序記憶體總和大於100%
我正在嘗試計算 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 版本更錯誤。