Ubuntu

free 和 htop 報告完全不同的數字

  • November 4, 2019

請參閱以下螢幕截圖:

htop 與免費

和 報告的“總”記憶體量為 8GB htopfreefree報告僅“使用”了 2.7GB ,但報告使用htop了 7.53GB。free報告 5GB 是緩衝區/記憶體,而htop報告為 100MB。

我認為htop這裡是正確的,因為系統執行緩慢並且kswapd0CPU 使用率很高。

這種不匹配的原因是什麼?

https://www.linuxatemyram.com/

記憶體與使用的經典混淆。htop正在計算記憶體為已使用但free不是。由於這是 Linux,請自行閱讀/proc/meminfo並了解計數器之間的關係。

編輯:您專門詢問了記憶體的差異。

沒有 procps 顯然確實頁面記憶體和平板可回收。來自proc/sysinfo.c

 kb_main_cached = kb_page_cache + kb_slab_reclaimable;

htop 是頁面記憶體加上slab 回收減去共享記憶體。linux/LinuxProcessList.c

  this->cachedMem = this->cachedMem + sreclaimable - shmem;

老實說,在現代 Linux 上,我會直接查看MemAvailable/proc/meminfo 中的其他一些計數器。如果我關心數字。


性能工具雖然非常有用,但可能會產生誤導、混淆和文件不足。不要假設不同的工具使用相同的算法計算類似名稱的事物。


緩慢而緩慢的響應時間可能是任何事情。儲存 IOPS 限製或響應時間、來自慢速儲存的記憶體頁面輸入、高 CPU 使用率(可能不是在您截取此螢幕截圖的那一刻)、網路速度慢、應用程序編寫不佳等等。

量化什麼是慢的和多少。您有許多應用程序正在執行:μTorrent 伺服器、mysql、mongo、plex 和其他一些容器。開啟慢查詢日誌。配置文件應用程序。將您可以使用的每個性能指標記錄到時間序列數據庫中並查看圖表。

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