df 指令:
linux中df指令的功能是用來檢查linux伺服器的檔案系統的磁盤空間占用情況。可以利用該指令來擷取硬碟被占用了多少空間,目前還剩下多少空間等資訊。
1.df -hT 和df -ih的差別如下
檢視磁盤大小,解決:删除比較大無用的檔案
df -TH
檢視inode:檔案的位元組數,擁有者id,組id,權限,改動時間,連結數,資料block的位置,解決:删除數量過多的小檔案
df -ih
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指令來删除數量比較多的檔案:
參考:文章