主要引起的問題小檔案太多,造成了Inode全部被占用。
解決辦法:
1. 檢視目前的磁盤占用情況:
$ df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/xvda 33030016 10407780 22622236 32% /
tmpfs 368748 0 368748 0% /lib/init/rw
varrun 368748 56 368692 1% /var/run
varlock 368748 0 368748 0% /var/lock
udev 368748 108 368640 1% /dev
tmpfs 368748 0 368748 0% /dev/shm
2. 檢查目前Inode的占用情況:
$ df -i
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/xvda 2080768 2080768 0 100% /
tmpfs 92187 3 92184 1% /lib/init/rw
varrun 92187 38 92149 1% /var/run
varlock 92187 4 92183 1% /var/lock
udev 92187 4404 87783 5% /dev
tmpfs 92187 1 92186 1% /dev/shm
3. 上面指令檢視紅色100%表明Inode全部被占用了,檢視哪兒檔案夾被占用了,從/ 開始會比較慢,可以換成特定的檔案夾
$ for i in /*; do echo $i; find $i |wc -l; done
4. 看哪個檔案顯示的目錄太多,直接rm -rf 删除掉。
5. 更好的解決辦法就是在crontab增加執行腳本,定時删除容易産生瑣碎檔案的檔案,當然找到産生瑣碎檔案的根源才是解決之道,因為頻繁産生瑣碎檔案,從架構上說存在問題,看看能否更好的優化
參考:http://www.ivankuznetsov.com/2010/02/no-space-left-on-device-running-out-of-inodes.html