今天登入測試機器發現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 如果確...