Centos No space left on device 問題(轉載)

博客原地址: https://www.cnblogs.com/aspirant/p/3604801.html

由於當初安裝系統時設計不合理,有些分區分的過小,以及網絡通訊故障等造成日誌文件迅速增長等其他原因都可能表現爲磁盤空間滿,造成無法讀寫磁盤,應用程序無法執行等。下面就給你支幾招(以/home空間滿爲例):

1. 定期對重要文件系統掃描,並作對比,分析那些文件經常讀寫

#ls –lR /home >;files.txt

#diff filesold.txt files.txt

  通過分析預測空間的增長情況,同時可以考慮對不經常讀寫文件進行壓縮,以減少佔用空間。

2. 查看空間滿的文件系統的inodes消耗

#df – i /home

  如果還有大量inode可用,說明大文件佔用空間,否則是可能大量小文件佔用空間。

3. 找出佔用空間較大的目錄

  查看/home 佔用的空間

#du –hs /home

  查看/home 下佔用空間超過1000m

#du |awk '$1>;2000'

4. 找出佔用空間較大的文件

#find /home –size +2000k

5. 找出最近修改或創建的文件

  先touch一個你想要的時間的文件如下:

# touch -t 08190800 test

#find /home -newer test -print

6. 刪除系統日誌等

  刪除生成 core,mbox等文件

#find / -name core|xargs rm –rf

  刪除日誌

#rm -rf /var/log/*

7. 對分區做鏈接

  在有空間的分區,對沒有空間分區做鏈接

#ln -s /home /usr/home

8.找出耗費大量的空間的進程

  根據不同的應用,找出對應的進程。分析原因。

9.檢查並修復文件系統

#fsck –y /home

10.重起機器

  有了以上的十招,應該可以解決大部分問題,但關鍵還是安裝時要規劃好分區。另外發現磁盤滿時,不能急,小心操作,認真分析原因,然後小心應對。需要注意,以上十招不需要順序執行,有的可能一招封喉,有的可能需要數招並用,刪除操作一定要小心。如果還不行,只有採取增加硬盤,重新安裝系統等”硬”辦法了。

  還可以:

cd \

du -h --max-depth=1|grep G|sort -n

  找到最大的那個目錄後進入該目錄

  再運行du -h --max-depth=1|grep G|-n

  如果沒有結果可以運行 du -h --max-depth=1|grep M|sort -n

  找出來以後看是否有用的文件

  沒用就刪掉


du -hs /var/log/httpd/
rm -rf /var/log/httpd/error_log.1
df

PS

#df -i 查看inode節點使用情況

#dumpe2fs -h /dev/sda3 | grep 'Inode count' 查看某個磁盤分區inode總數

#stat filename 查看某個文件的inode信息

#for i in /* ; do echo $i;find $i |wc -l ;done 查找在哪個目錄下面文件較多
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章