天天看點

No space left on device解決辦法

     主要引起的問題小檔案太多,造成了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