Inodes 100 使用排查

2021-10-03 19:14:22 字數 1290 閱讀 5817

今天登入測試機器發現oracle無法啟動,啟動報錯no space on device ,反覆確認硬碟空間沒有滿:

進一步檢查,發現inodes使用率100%

然後用以下語句檢查,發現/var竟然用了4150912個inodes:

[root@new ~]# for i in /*; do echo $i; find $i | wc -l; done

/benchmarks.md

1/bin

122/boot

30/data

1008

/dev

708/etc

2612

/home

148/lib

4089

/lib64

425/lost+found

1/media

2/misc

1/mnt

1/net

1/ogg

272/opt

68258

/oracle.sh

1/proc

23711

/root

194/sbin

314/selinux

1/srv

1/sys

11687

/tmp

18/tools

2/use

4/usr

123572

/var

4150912

再進一步發現是/var/spool/posfix占用最多,我這是oracle機器,沒有執行postfix,把postfix刪除,inodes使用恢復正常:

rm -f /var/spool/postfix

或者用:

find /var/spool/postfix/ -type f |xargs rm -rf

刪除後inodes使用正常:

系統執行計畫任務crond時出錯。而crond在執行指令碼時會將保持資訊以郵件的形式傳送給crond使用者,而環境的postfix沒有正常執行,導致郵件傳送失敗,都會堆積在/var/spool/postfix/maildrop/目錄中,(可以在crontab中第一行增加mailto=""傳送為空)。如果sendmail或者postfix正常執行,則會在/var/mail目錄下也會堆積大量的郵件。

解決:1、vi /etc/crontab;將mailto=root修改為mailto="",儲存。

2、/etc/init.d/crond restart

刪除:1、find /var/spool/postfix/maildrop/ -type f |xargs rm -rf

如何排查 Inodes 使用太多的問題

當碰到伺服器 inodes 報警,排查流程如下 作業系統環境 centos6.8 一 使用 df i 檢視那個分割槽用量最多 二 進入該分割槽,使用檔案數量統計指令碼 檔案數量統計指令碼 bin bash for i in ls do file num find i type f print wc ...

如何排查 Inodes 使用太多的問題

當碰到伺服器 inodes 報警,排查流程如下 作業系統環境 centos6.8 一 使用 df i 檢視那個分割槽用量最多 二 進入該分割槽,使用檔案數量統計指令碼 檔案數量統計指令碼 bin bash for i in ls do file num find i type f print wc ...

關於inodes占用100 的問題及解決方法

問題 今天我們郵件伺服器收發不了郵件了,而且連線到伺服器上開啟服務都開不了,起始以為磁碟空間不足,df 看了一下 檢視磁碟使用情況 檢視inode使用情況 解決方法 通過以下指令碼進行檢查,檢視到底哪個目錄下面的檔案最多 for i in do echo i find i wc l done 如果確...