Linux

意外的空間消耗

  • December 25, 2018

我有個問題。我總是用完磁碟空間。我不確切知道哪些文件佔用了所有空間。似乎有一堆小文件,所以很難用du命令找到。每次我找到要擺脫的東西以獲得一些可用空間(郵件、日誌、舊檔案和 rpms)時,一段時間後磁碟又滿了。系統分區 (/) 中的空間被盜。命令結果df

Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/sda1              4061540   3848404      3492 100% /
/dev/sda3              4061572   2441348   1410576  64% /home
tmpfs                   517636         0    517636   0% /dev/shm
/dev/sdb1             10317828   1894904   7898808  20% /var/lib/mysql

在這種情況下你會推薦什麼?

如果您還可以在遇到過多或意外的空間消耗時列舉一個案例列表,那就太好了。它可能有助於解決問題

作業系統:CentOS 5。

這是我的標準“找到正在吃空間的東西”制度:

  1. du -hx --max-depth=1 /- 尋找正在吞噬空間的東西。檢查最大的子目錄(比如du -hx --max-depth=1 /var),直到找到一些佔用空間的東西。日誌(in /var/log)是常見的罪魁禍首(您應該使用 logrotate 處理),yum 喜歡保留的垃圾(重新打包的 RPM)也是如此。如果您可以辨識任何屢犯者,請找出一種方法來自動化您正在進行的任何維護工作以重複清理。
  2. lsof -n |grep deleted– 查找已刪除的大文件。確定哪個程序使它們保持打開狀態,如果可以的話,殺死它或告訴它回收它的句柄(如果它們是日誌文件,kill -HUP <pid>通常會做到這一點)。
  3. 我的第三條攻擊線是調整分區大小或將新分區分配給各種掛載,儘管在您的情況下,因為您沒有使用 LVM,所以這很棘手。考慮進行維護以變成/dev/sdb1VG 並從那里分配。
  4. 升級。磁碟空間非常便宜,如果您花一個小時的時間尋找導致空間消耗的原因,您只是“花費”了購買新硬碟所需的時間,因此購買新驅動器而不是花太多時間尋找問題。

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