主要引起的問題小文件太多,造成了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; done4. 看哪個文件顯示的目錄太多,直接rm -rf 刪除掉。
5. 更好的解決辦法就是在crontab增加執行腳本,定時刪除容易產生瑣碎文件的文件,當然找到產生瑣碎文件的根源纔是解決之道,因爲頻繁產生瑣碎文件,從架構上說存在問題,看看能否更好的優化
參考:http://www.ivankuznetsov.com/2010/02/no-space-left-on-device-running-out-of-inodes.html