Linux
df 顯示使用的負值?
我有一個 CentOS 5.2 伺服器並執行
df -h
我得到這個:Filesystem Size Used Avail Use% Mounted on /dev/mapper/VolGroup00-LogVol00 672G -551M 638G 0% / /dev/hda1 99M 12M 82M 13% /boot tmpfs 2.0G 0 2.0G 0% /dev/shm
上次顯示正確值時,該空間的使用率甚至不到 10%。我不知道發生了什麼。
編輯#1
好的,所以我不得不重新啟動伺服器,因為 SSHD 掛了,我猜這與此有關。
重新啟動後,一些新資訊
df -h
顯示已使用 12Gb (2%),但如果我執行du -hcs /
它顯示總共 46Gb,則這裡有很大的不同。編輯#2
大約 15 分鐘的正常執行時間後
df -h
再次顯示負值:Filesystem Size Used Avail Use% Mounted on /dev/mapper/VolGroup00-LogVol00 672G -24G 660G - /
編輯#3
更多資訊,執行 a
fsck
這是輸出:Checking all file systems. [/sbin/fsck.ext3 (1) -- /] fsck.ext3 -f -y /dev/VolGroup00/LogVol00 Pass 1: Checking inodes, blocks, and sizes Pass 2: Checking directory structure Pass 3: Checking directory connectivity Pass 4: Checking reference counts Pass 5: Checking group summary information /dev/VolGroup00/LogVol00: 204158/181633024 files (1.3% non-contiguous), 9224806/181633024 blocks [/sbin/fsck.ext3 (1) -- /boot] fsck.ext3 -f -y /dev/hda1 Pass 1: Checking inodes, blocks, and sizes Pass 2: Checking directory structure Pass 3: Checking directory connectivity Pass 4: Checking reference counts Pass 5: Checking group summary information /boot: 34/26104 files (5.9% non-contiguous), 15339/104388 blocks
我認為這是文件系統損壞。您應該解除安裝分區並執行 fsck。
還要檢查日誌和控制台是否有任何文件系統錯誤。
我認為這可能意味著您已經超出了保留為僅根空間的範圍(我認為 ext3 上的預設值為 5%):
$ sudo tune2fs -l /dev/sda1 | grep -i 'Reserved block count' Reserved block count: 1877194
保留塊計數是磁碟快滿後只有 root 使用者可以使用的一定數量的塊(這可以防止普通使用者填滿 fs 並導致事情中斷)。來自
man tune2fs
:-m reserved-blocks-percentage
設置只能由特權程序分配的文件系統的百分比。保留一定數量的文件系統塊供特權程序使用是為了避免文件系統碎片,並允許系統守護程序(例如 syslogd(8))在阻止非特權程序寫入文件系統後繼續正常執行。通常,保留塊的預設百分比是 5%。
所以我認為某些東西作為 root 使用者正在快速佔用空間。您可以使用
du -hcs /
並從那裡向下鑽取以查找正在使用空間的文件的位置。如果您認為這可能是創建大文件的原因,您也可以使用該find
命令。