您好,登錄后才能下訂單哦!
http://blog.csdn.net/bobo0915/article/details/51980650
可以用下面的命令查找到系統中哪一個文件夾有問題然后逐層查看就可以找到是哪一個文件了
命令是
首先切換到根目錄
cd /
du -sh ./*
du -sh ./* | sort
然后找到最大的文件夾
逐層就可以找到是哪一個文件夾最大是否是有問題的,一般這樣就可以確定目標文件是哪一個了
==========================
問題:磁盤空間只使用了56%仍有剩余空間,但是建立文件和建立文件夾就是提示設備沒有空間了。
分析:在磁盤上建立文件的時候需要兩個條件:
1.磁盤空間,
2.需要有inode 任何一個滿了都回提示設備沒有空間。
此處具體原因是由于磁盤的inode分配完了,導致提示磁盤滿。
可以使用df -ia查看磁盤詳細信息。
[root@~]# df -ia
文件系統 Inode (I)已用 (I)可用 (I)已用% 掛載點
/dev/sda3 4928640 89934 4838706 2% /
proc 0 0 0 - /proc
sysfs 0 0 0 - /sys
devpts 0 0 0 - /dev/pts
/dev/sda1 50200 35 50165 1% /boot
tmpfs 35352 1 35351 1% /dev/shm
none 0 0 0 - /proc/sys/fs/binfmt_misc
/dev/drbd0 251392 251392 0 100% /data
以上查看到(I) 使用了100%
解決:刪除一些無用的文件或者文件夾,釋放inode。
關于磁盤空間中索引節點爆滿的問題還是挺多的,自己本想寫寫處理方案,但是看到了網友們文采不錯,對于此問題的處理方法都比較妥當,就借過來跟大家分享下:
一、發現問題:
在一臺配置較低的Linux服務器(內存、硬盤比較小)的/data分區內創建文件時,系統提示磁盤空間不足,用df -h命令查看了一下磁盤使用情況,發現/data分區只使用了66%,還有12G的剩余空間,按理說不會出現這種問題。
二、分析問題:
后來用df -i查看了一下/data分區的索引節點(inode),發現已經用滿(IUsed=100%),導致系統無法創建新目錄和文件。
inode譯成中文就是索引節點,每個存儲設備(例如硬盤)或存儲設備的分區被格式化為文件系統后,應該有兩部份,
一部份是inode,而inode呢,就是用來存儲這些數據的信息,這些信息包括文件大小、屬主、歸屬的用戶組、讀寫權限等。
另一部份是Block,Block是用來存儲數據用的。inode為每個文件進行信息索引,所以就有了inode的數值。操作系統根據指令,能通過inode值最快的找到相對應的文件。
而這臺服務器的Block雖然還有剩余,但inode已經用滿,因此在創建新目錄或文件時,系統提示磁盤空間不足。
三、查找原因:
/data/cache目錄中存在數量非常多的小字節緩存文件,占用的Block不多,但是占用了大量的
四、解決方案:
1、刪除/data/cache目錄中的部分文件,釋放出/data分區的一部分inode,特別要留意那些spool出來的文件,這種文件一般會占用比較多的節點,因為比較小而且零碎,同時要多留意日志文件信息等
2、用軟連接將空閑分區/opt中的newcache目錄連接到/data/cache,使用/opt分區的inode來緩解/data分區inode不足的問題:
ln -s /opt/newcache /data/cache
3、更換服務器,用高配置的服務器替換低配置的服務器。很多時候用錢去解決問題比用技術更有效,堆在我辦公桌上5臺全新的 DELL PowerEdge 2950 服務器即將運往IDC機房。一般不建議
關于磁盤的inode滿100%--i節點大爆發
http://blog.sina.com.cn/s/blog_79d1f5e00100qywq.html
原因:
通常是發現磁盤沒有滿但是無法寫入文件。提示“no space left on device”,用df -i 查看,應該會發現相應的分區是100%,一般都是crontab的job有問題,造成/var/spool/clientmqueue中產生許多的零碎文件。
處理方法:
用rm -rf *會不能刪除,并會有相應的提示,大意是參數太多。
可以用多種方法,這里提及一個我隨便寫的,在/var/spool/clientmqueue/下執行命令:“lsattr ./|awk
-F"/" '{print $3}'|xargs -i rm -rf {}”用lsattr列出./下面的文件名的屬性,用awk取出名字,然后rm
-rf
還有一個方法比較普遍的使用:“find /var/spool/clientmqueue/ -type f -exec rm {} \;”或者在/var/spool/clientmqueue/目錄下“find ./ -exec rm {} \;”
將crontab中沒有定向輸出的行都在最后加上“> /dev/null 2>&1”,在刪除的過程中操作。或者先停止crontab,加上重定向。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。