linux No space left on device由索引節(jié)點(inode)爆滿引發(fā)500問題
inode是什么?
理解inode,要從文件儲存說起。
文件儲存在硬盤上,硬盤的最小存儲單位叫做"扇區(qū)"(Sector)。每個扇區(qū)儲存512字節(jié)(相當(dāng)于0.5KB)。
操作系統(tǒng)讀取硬盤的時候,不會一個個扇區(qū)地讀取,這樣效率太低,而是一次性連續(xù)讀取多個扇區(qū),即一次性讀取一個"塊"(block)。<br>這種由多個扇區(qū)組成的"塊",是文件存取的最小單位。"塊"的大小,最常見的是4KB,即連續(xù)八個 sector組成一個 block。
文件數(shù)據(jù)都儲存在"塊"中,那么很顯然,我們還必須找到一個地方儲存文件的元信息,比如文件的創(chuàng)建者、文件的創(chuàng)建日期、文件的大小等等。<br>這種儲存文件元信息的區(qū)域就叫做inode,中文譯名為"索引節(jié)點"。
最近網(wǎng)站編輯反應(yīng)上傳圖片失敗,網(wǎng)站頁面也經(jīng)常500錯誤

常規(guī)500錯誤查找http://www.fzitv.net/article/175431.htm找了一圈發(fā)現(xiàn)配置沒問題。
查看了nginx error錯誤日志發(fā)現(xiàn)磁盤空間滿了

用df -h命令查看了一下磁盤使用情況,發(fā)現(xiàn)空間還有剩余。

發(fā)現(xiàn)問題:后來用df -i查看了一下索引節(jié)點(inode),發(fā)現(xiàn)已經(jīng)用滿(IUsed=100%),導(dǎo)致系統(tǒng)無法創(chuàng)建新目錄和文件。

解決方法:刪除無用的臨時文件,釋放inode。
可以查看 /tmp 目錄下有很多臨時文件。
也可以選擇/var/spool/目錄
輸入一下命令查看/var/spool/下的文件個數(shù)
for i in /var/spool/; do echo $i; find $i |wc -l|sort -nr; done

看到有200多萬文件
cd /var/spool/clientmqueue/ 進入這個目錄,刪掉這些沒用的文件,查看一下,60萬文件吧,文件太多,
于是就用到了這個命令:
ls | xargs rm -rf
2或者這個命令
find . -name "*" | xargs rm -rf
可以分批的處理刪除文件,如下圖是刪除后的效果:inode使用21%。好了

就是因為垃圾文件長時間沒清理,導(dǎo)致清理文件花太多的時間,為了避免該類問題,最好對系統(tǒng)的垃圾文件進行定時清理,或者部署監(jiān)視系統(tǒng)。
可以根據(jù)較大目錄的文件占用情況,臨時轉(zhuǎn)移部分文件到占用磁盤較小的目錄中。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Linux 6 修改ssh默認(rèn)遠(yuǎn)程端口號的操作步驟
這篇文章主要介紹了Linux 6 修改ssh默認(rèn)遠(yuǎn)程端口號的操作步驟,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下2019-09-09
解決xmapp中Apache端口號占用問題(Apache不能正常啟動)
小伙伴們安裝xmapp后發(fā)現(xiàn)Apache不能正常開啟,下面小編給大家?guī)砹藊mapp中Apache端口號占用問題的解決方法(Apache不能正常啟動),需要的朋友參考下吧2017-05-05
centos設(shè)置fqdn(全稱域名)和hostname的方法
這篇文章主要介紹了centos設(shè)置fqdn(全稱域名)和hostname的方法,需要的朋友可以參考下2014-03-03
Linux下查看CPU型號,內(nèi)存大小,硬盤空間的命令(詳解)
下面小編就為大家?guī)硪黄狶inux下查看CPU型號,內(nèi)存大小,硬盤空間的命令(詳解)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-11-11
一文教你如何快速排查Windows和Linux系統(tǒng)是否被黑
這篇文章主要為大家詳細(xì)介紹了如何實現(xiàn)快速排查Windows和Linux系統(tǒng)是否被黑,文中通過圖文進行了詳細(xì)介紹,需要的小伙伴可以參考一下2023-08-08
Linux下安裝jdk1.8并配置環(huán)境變量的教程
這篇文章主要介紹了Linux下安裝jdk1.8并配置環(huán)境變量的教程,需要的朋友可以參考下2018-03-03
關(guān)于bash函數(shù)你可能不知道的一些事情(譯)
這篇文章主要給大家介紹了關(guān)于bash函數(shù)你可能不知道的一些事情,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2018-07-07

