解決inode佔用過多

前言:
某臺服務器inode滿了,好久沒有處理過相似問題了,有點忘記,記錄在此node

1、理解inode

要理解inode,要從文件存儲提及,Linux系統文件在物理上都是存儲在硬盤上面的,硬盤存儲裏面,最小存儲單位是"扇區(Sector)",每一個扇區存儲512字節服務器

操做系統在讀取硬盤的時候不會一個一個讀取扇區,這樣效率很低,而是一次性連續讀取多個扇區,多個扇區就組成了一個塊(block),而這種由多個扇區組成的塊,就是文件存儲的最小單位,塊的大小通常爲4KB,也就是說8個扇區組成了一個blockpost

文件信息存儲在block中,如何找到這些block,以及怎麼知道這些block存儲了哪些內容,如文件的建立人、時間、大小等信息,這些信息又叫元數據,而這種存儲元數據的區域就叫作inode,inode就是索引節點spa

也就是說每一個文件都須要記錄這些元信息,也必然會佔用inode,所以inode佔用過多,多數是小文件太多致使操作系統

2、查找哪裏佔用inode

知道了inode佔用可能是文件多致使以後,那麼只須要找到哪些目錄下小文件過多,而後刪除便可code

1.查看哪一個盤佔用inode
df -ih
clipboard.png索引

2.進入該掛載目錄,而後經過wc -l統計哪些佔用多
clipboard.png
clipboard.png
clipboard.pngcrontab

3.能夠看到是/var/spool/postfix/maildrop下不少小文件
clipboard.pngip

3、解決

最簡單的辦法,是進入該目錄,刪除這些沒用的小文件it

cd /var/spool/postfix/maildrop && find -type f |xargs rm -f

而後查看,發現inode節點佔用已經很低了
clipboard.png

查到了/var/spool/postfix/maildrop目錄下有大量小文件,原來是crond在執行腳本時會將保持信息以郵件的形式發送給crond用戶,而環境的postfix沒有正常運行,致使郵件發送失敗,都會堆積在/var/spool/postfix/maildrop/目錄中,要解決該問題,一是能夠啓動postfix,讓郵件服務正常運行.另外還能夠在/etc/crontab中修改配置MAILTO=""發送爲空,這樣就不會堆積了

相關文章
相關標籤/搜索