Linux系統中inode占用100 的解決辦法

2021-08-20 08:42:27 字數 1511 閱讀 2974

當你的 linux 系統無法建立新檔案時,有可能是你的磁碟滿了,還有可能是你的磁碟的 inode 用光了,我們今天要說的就是後一種情況,要解決這個問題,只能是刪除一些檔案,但是一般情況下,其實是你的系統中的某個地方產生了大量的你並不需要的檔案,你要做的就是找到他們並刪除就可以了,我並不是讓你刪除你有用的檔案,因為你一般不會有那麼多有用的檔案來把系統的 inode 用光。

什麼是 inode ?

檔案儲存在硬碟上,硬碟的最小儲存單位叫做」扇區」(sector)。每個扇區儲存512位元組(相當於0.5kb)。

作業系統讀取硬碟的時候,不會乙個個扇區地讀取,這樣效率太低,而是一次性連續讀取多個扇區,即一次性讀取乙個」塊」(block)。這種由多個扇區組成的」塊」,是檔案訪問的最小單位。」塊」的大小,最常見的是4kb,即連續八個 sector組成乙個 block。

檔案資料都儲存在」塊」中,那麼很顯然,我們還必須找到乙個地方儲存檔案的元資訊,比如檔案的建立者、檔案的建立日期、檔案的大小等等。這種儲存檔案元資訊的區域就叫做inode,中文譯名為」索引節點」。

每乙個檔案都有對應的inode,裡面包含了與該檔案有關的一些資訊。

如何檢視系統的 innode 占用情況

df-ih

如何查詢那個目錄下檔案最多

首先切到根目錄 /cd

/然後執行

fori

in/*; do echo

$i; find

$i| wc -l; done

或者for

i in

`ls -

1a | grep -v

"\.\./"

| grep -v

"\./"

`; do

echo

"`find

$i| sort -u | wc -l` $i"

; done

| sort -rn | head -

10這樣會依次返回

/目錄下檔案最多的目錄,進入這個目錄,再執行上述命令,就這樣層層深入最終確定是那個目錄檔案最多

如何刪除那個目錄的的所有檔案

一般情況下,如果這個目錄下應該會有數以百萬的檔案,如果你直接用 

rm -rf 目錄名

的話效率會很低,可以用下面方法

find

目錄 -

type

f-name

'*'-print0 | xargs -0rm

時間可能會比較久,所以你最好開乙個 screen 來處理

有可能是你遇到了下面的情況

/var/spool/postfix/maildrop 下面有很多檔案

為了避免,可以執行 

crontab -e

在最開頭新增 

mailto='"'

儲存,然後 

server crond restart

重啟 crond

Linux檔案系統中的inode

磁碟中最小的儲存單位是 扇區 作業系統中檔案最小的儲存單位是 塊 乙個 塊 由連續的8個 扇區 組成,乙個檔案可以由多個 塊 組成,而這些 塊 並不一定是連續的。作業系統要讀取乙個檔案時,是如何找到這些 塊 的呢?這就需要一種對映關係,方便系統通過檔名找到對應的 塊 inode就用來維持這種對映關係...

linux中inode的理解

一 inode是什麼?理解inode,要從檔案儲存說起。檔案儲存在硬碟上,硬碟的最小儲存單位叫做 扇區 sector 每個扇區儲存512位元組 相當於0.5kb 作業系統讀取硬碟的時候,不會乙個個扇區地讀取,這樣效率太低,而是一次性連續讀取多個扇區,即一次性讀取乙個 塊 block 這種由多個扇區組...

Linux 的檔案系統 inode

linux 的檔案系統 inode 看完了上面的說明,您應該對於硬碟有一定程度的認識了!好了,那麼接下來就是要談一談 linux 的檔案系統 filesystem 囉!我們這裡以 linux 最標準的 ext2 這個檔案系統來作為說明。還記得我們在 linux 檔案屬性與目錄配置 那個章節提到的,在...