天天看點

linux指令df 中df -hT和df -ih的差別及磁盤爆滿的解決方法

df 指令:

linux中df指令的功能是用來檢查linux伺服器的檔案系統的磁盤空間占用情況。可以利用該指令來擷取硬碟被占用了多少空間,目前還剩下多少空間等資訊。

1.df -hT 和df -ih的差別如下

df -TH

檢視磁盤大小,解決:删除比較大無用的檔案

df -ih

檢視inode:檔案的位元組數,擁有者id,組id,權限,改動時間,連結數,資料block的位置,解決:删除數量過多的小檔案

2.linux inode已滿解決方法

伺服器tomcat啟動起不來,而且連接配接到伺服器上開啟服務都開不了,起始以為磁盤空間不足,

df -hT

看了一下發現空間是足夠的。

[[email protected] ~]# df -hT
Filesystem     Type      Size  Used Avail Use% Mounted on
/dev/vda1      ext4       40G   21G   17G  57% /
devtmpfs       devtmpfs  7.8G     0  7.8G   0% /dev
tmpfs          tmpfs     7.8G     0  7.8G   0% /dev/shm
tmpfs          tmpfs     7.8G  884K  7.8G   1% /run
tmpfs          tmpfs     7.8G     0  7.8G   0% /sys/fs/cgroup
tmpfs          tmpfs     1.6G     0  1.6G   0% /run/user/0
tmpfs          tmpfs     1.6G     0  1.6G   0% /run/user/1000
/dev/vdb1      ext4      493G   61G  407G  14% /data
tmpfs          tmpfs     1.6G     0  1.6G   0% /run/user/3011
tmpfs          tmpfs     1.6G     0  1.6G   0% /run/user/1002
           

然後

df -ih

檢視了下inodes,發現根目錄下的inodes值使用率為100%了

Filesystem     Inodes IUsed IFree IUse% Mounted on
/dev/vda1        2.5M  2.5M  0    100% /
devtmpfs         2.0M   346  2.0M    1% /dev
tmpfs            2.0M     1  2.0M    1% /dev/shm
tmpfs            2.0M   558  2.0M    1% /run
tmpfs            2.0M    16  2.0M    1% /sys/fs/cgroup
tmpfs            2.0M     1  2.0M    1% /run/user/0
tmpfs            2.0M     1  2.0M    1% /run/user/1000
/dev/vdb1         32M  880K   31M    3% /data
tmpfs            2.0M     1  2.0M    1% /run/user/3011
tmpfs            2.0M     1  2.0M    1% /run/user/1002
           

解決方法:通過以下腳本進行檢查,檢視到底哪個目錄下面的檔案最多:

最終發現/usr/local/tomcat目錄最多。然後又進一步确定是/usr/local/tomcat/logs 目錄下面有上百萬個檔案,機器已經無法正常顯示了,tomcat每天都會進行自動建立日志檔案,由于測試環境沒加自動删除,導緻累計了好久的日志,删除該目錄下所有檔案;使用xargs指令來删除數量比較多的檔案:

參考:文章

繼續閱讀