溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Linux系統(tǒng)中inode索引節(jié)點已滿如何解決

發(fā)布時間:2021-07-21 10:00:19 來源:億速云 閱讀:492 作者:Leah 欄目:系統(tǒng)運維

這篇文章將為大家詳細(xì)講解有關(guān)Linux系統(tǒng)中inode索引節(jié)點已滿如何解決,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關(guān)知識有一定的了解。

今天login server的一個網(wǎng)站,發(fā)現(xiàn)login后沒有生成session。根據(jù)以往經(jīng)驗,一般是空間已滿導(dǎo)致session文件生成失敗。

代碼如下:


df -h  

代碼如下:


Filesystem                    Size  Used Avail Use% Mounted on  
/dev/mapper/dev01-root         75G   58G   14G  82% /  
udev                          2.0G  4.0K  2.0G   1% /dev  
tmpfs                         396M  292K  396M   1% /run  
none                          5.0M     0  5.0M   0% /run/lock  
none                          2.0G  4.0K  2.0G   1% /run/shm  
/dev/sda1                     228M  149M   68M  69% /boot  


空間剩余14G,可以排除空間已滿的情況。導(dǎo)致文件生成失敗還有另一個原因,就是文件索引節(jié)點inode已滿。

代碼如下:


df -i  

代碼如下:


Filesystem                    Inodes   IUsed  IFree IUse% Mounted on  
/dev/mapper/dev01-root       4964352 4964352      0  100% /  
udev                          503779     440 503339    1% /dev  
tmpfs                         506183     353 505830    1% /run  
none                          506183       5 506178    1% /run/lock  
none                          506183       2 506181    1% /run/shm  
/dev/sda1                     124496     255 124241    1% /boot  


inodes 占用100%,果然是這個問題。

解決方法:刪除無用的臨時文件,釋放inode。
查找發(fā)現(xiàn) /tmp 目錄下有很多sess_xxxxx的 session臨時文件。

代碼如下:


ls -lt /tmp | wc -l  
4011517  


進(jìn)入/tmp目錄,執(zhí)行find -exec命令

代碼如下:


sudo find /tmp -type f -exec rm {} \;  


如果使用rm *,有可能因為文件數(shù)量太多而出現(xiàn)Argument list too long錯誤。除了/tmp的臨時文件外,0字節(jié)的文件也會占用inode,應(yīng)該也釋放。
遍歷尋找0字節(jié)的文件,并刪除。

代碼如下:


sudo find /home -type f -size 0 -exec rm {} \;  


刪除后,inode 的使用量減少為19%,可以正常使用了。

代碼如下:


df -i  

代碼如下:


Filesystem                    Inodes  IUsed   IFree IUse% Mounted on  
/dev/mapper/dev01-root       4964352 940835 4023517   19% /  
udev                          503779    440  503339    1% /dev  
tmpfs                         506183    353  505830    1% /run  
none                          506183      5  506178    1% /run/lock  
none                          506183      2  506181    1% /run/shm  
/dev/sda1                     124496    255  124241    1% /boot  

PS:什么是inode
linux中,文件查找不是通過文件名稱來查找的。實際上是通過inode來實現(xiàn)文件的查找定位的。我們可以形象的將inode看做是一個指針fip。當(dāng)文件存儲到磁盤上去的時候,文件肯定會存放到一個磁盤位置上,可以這樣想象,既然文件數(shù)據(jù)是存放在磁盤上的,如果我們知道這個文件數(shù)據(jù)的地址,當(dāng)我們想要讀寫文件的時候,我們是不是直接使用這個地址去找到文件就可以了呢?
  
是的,linux下,inode其實就是可以這么認(rèn)為,把inode看作是一個指向磁盤上該文件存儲區(qū)的地址。只不過這個地址我們一般是沒辦法直接使用的,而是通過文件名來間接使用的。事實上,inode不僅包含了文件數(shù)據(jù)存儲區(qū)的地址,還包含了很多信息,比如數(shù)據(jù)大小,等等文件信息。但是inode是不保存文件名的。文件名是保存在一個目錄項中。每一個目錄項中都包含了文件名和inode。

我們可以通過一個圖來看看目錄項,inode,文件數(shù)據(jù)四者之間的關(guān)系。
Linux系統(tǒng)中inode索引節(jié)點已滿如何解決

關(guān)于Linux系統(tǒng)中inode索引節(jié)點已滿如何解決就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI