Process

如何檢測哪個程序填滿了磁碟空間

  • March 15, 2016

在周末,由於可用空間不足,我基於 Debian 的代理崩潰了。重新啟動後又好了,所以星期一我去尋找日誌和/或星期六掛起的解釋,但我找不到任何東西。

在 /var/log/* 中搜尋任何類型的東西,檢查 crontab,郵件隊列……我發現的唯一一件事是監控 syslog 中的系統迴聲,可用空間每分鐘都變得至關重要(在 30 分鐘內填充了大約 80GB)。沒有守護程序錯誤左右。

我很容易理解實時發生的事情,但不知道過去如何進一步調試此類問題。有什麼建議嗎?

這是一年多來第一次發生這種情況。正常執行時間很短,問題在接下來的幾天內沒有再次出現。

謝謝

你可以atop用來調試這樣的東西。atop 可以實時執行,但更關鍵的是,它可以顯示和分析日誌中擷取的過去的快照。它記錄了很多不同的指標,所以你可能不會在事後想“該死的,我希望我記錄了那個”。:-)

在 Debian 上,您可以使用apt-get install atop. 然後,您可以使用您的初始化管理器在啟動時啟動並啟用它。例如,在 systemd 上,它將是systemctl enable atop && systemctl start atop. 現在 atop 將開始記錄——通常是到/var/log/atop/<date>.

您可以使用 來查看歷史日誌,使用atop -r <log file>向前移動,使用t向後移動T。您可以通過按鍵查找更多命令?

您應該尋找一個向磁碟寫入大量內容的應用程序。您可以在 WRDISK 列中看到這一點。您也可以按 對磁碟使用情況進行排序D

顯然,這甚至不能回到開始記錄之前,但是您可以讓它在後台執行並在下次您可以正確調查時登錄。

引用自:https://unix.stackexchange.com/questions/269973