Vps

如何查找誰在使用磁碟空間

  • March 16, 2015

我的 vps 上有 2 個磁碟,一個是 40 GB,另一個是 80 GB,今天我看到我的 40GB 磁碟已 100% 滿,我不明白該空間在使用什麼。

這是完整的資訊

[root@topsites]# df -h
已使用的文件系統大小可用使用百分比已安裝在
/dev/xvda1 40G 38G 0 100% /
tmpfs 3.9G 0 3.9G 0%/dev/shm
/dev/xvde1 79G 51G 25G 68% /var/www

我的所有站點都在 /var/www 目錄中,這個目錄的總使用量是 57GB(總 /var 目錄)。我一一檢查了所有其他目錄,但沒有找到任何大數據。幾乎所有其他目錄最多使用 5GB,所以我不明白我的其他空間在哪裡。

我的計算是這樣的,我的所有網站文件總計 51GB,它使用第二個 80GB 磁碟,/var 使用更多 6GB,我認為使用我的 40GB 磁碟。在減去所有其他目錄使用後,至少 50% 的空間仍留在 40GB 磁碟上,但正如您所見,它顯示 100% 已使用。

誰能給我一個線索?

[root@topsites ~]# du -sh /* --exclude /proc --exclude /var/www
6.5M /箱
42M /開機
4.0K /cgroup
124K /開發
26M /等
60K /家
254M /庫
18M /lib64
20K /失去+找到
4.0K /媒體
4.0K/分鐘
4.0K /選擇
44K /根
9.2M /sbin
4.0K /selinux
4.0K /srv
0 /系統
8.0K /tmp
518M / 使用者
6.6G/var
du -sh /* --exclude /proc --exclude /var/www

然後向下工作以查看所有文件的位置。您的日誌可能會破壞音量。

然後查看是否有任何打開的文件被刪除但文件使用情況尚未被刪除。查找從以下位置返回的所有大文件:

sudo lsof | grep deleted

你在執行 RHEL/CentOS 嗎?確認您的文件系統在/etc/fstab.

假設您正在使用ext3or ext4,您應該通過執行來確認為分區保留了多少空間tune2fs -l /path/to/partition | grep -i "reserve"。例如;

/dev/xvda1 | grep -i "reserve"

通常 5 - 10% 不可,因為它是保留的。通過將塊大小乘保留塊來計算保留空間,請參見下一步。

接下來,您可以檢查從計數中排除了多少文件。首先使用 . 確認您的分區的塊大小tune2fs

tune2fs -l /dev/xvda1 | grep "Block size"

大多數分區使用 4096 字節或 4 Kb 的預設塊大小。

接下來,在您的分區上查找大小不超過 4 Kb 的文件,因此不計算在內。我們可以這樣做find

find / -size -4k | wc -l

列印的最後一行將是找到的文件數。由於每個文件至少佔用一個塊,我們可以通過將塊大小乘以文件總數來計算使用的磁碟空間。假設一共有1083357個文件;

1083357 x 4 = 4333428 Kb (4.333428 Gb)

當然,除非您使用的是其他作業系統 :)

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