1. 程式人生 > >如何解決 Linux 中“磁碟空間不足”的問題 | Linux 中國

如何解決 Linux 中“磁碟空間不足”的問題 | Linux 中國

640?wx_fmt=jpeg&wxfrom=5&wx_lazy=1明明有很多剩餘空間,但 Linux 系統依然提示沒有空間剩餘。為什麼會這樣呢?Linux 偶爾會有一些令人沮喪的模糊的錯誤訊息出現,而這就是其中一種。不過這種錯誤通常都是由某幾種因素導致的。-- Nick Congleton
本文導航◈ 通過 du 和 df 檢查磁碟空間06%◈ 可能的原因37%◈ 已刪除檔案被程序所佔用42%◈ i 節點不夠了55%◈ 環塊69%編譯自 | https://www.maketecheasier.com/fix-linux-no-space-left-on-device-error/ 
 作者 | Nick Congleton
 譯者 | lujun9972

明明有很多剩餘空間,但 Linux 系統依然提示沒有空間剩餘。為什麼會這樣呢?Linux 偶爾會有一些令人沮喪的模糊的錯誤訊息出現,而這就是其中一種。不過這種錯誤通常都是由某幾種因素導致的。

通過 du 和 df 檢查磁碟空間

在開始行動前,最好先檢查一下是否磁碟上是否確實還有空間剩餘。雖然桌面環境的工具也很不錯,但命令列上的工具更直接,要好的多。

0?wx_fmt=jpeg

Linux Filesystem du

首先讓我們看看 du 命令。用它來檢查問題磁碟所在的掛載點目錄。本文假設出問題的分割槽掛載點為根目錄。

  1. sudodu-sh /

0?wx_fmt=jpeg

Linux Filesystem df

由於它要遍歷磁碟中的所有檔案,因此需要花費一點時間。現在再讓我們試試 df

  1. sudodf-h

把根目錄和在其中掛載的檔案系統加在這條命令的後面。比如,若你的有一個獨立的磁碟掛載到 /home,那麼除了根目錄之外,你也需要把它加進來。使用空間的總和應該跟你 du

 命令得到的結果接近。否則的話,就說明可能有已刪除檔案的檔案被程序佔用。

當然,這裡主要專注點在於這些命令的結果是否要小於磁碟的大小。如果確實小於磁碟大小,那麼很明顯有很多地方不對勁。

相關使用 Agedu 分析硬碟空間使用狀況 [1]

可能的原因

這裡列出了一些產生這種情況的主要原因。若你發現 du 和 df 的結果之間有差別,那麼可以直接檢查第一項原因。否則從第二項原因開始檢查。

已刪除檔案被程序所佔用

有時,檔案可能已經被刪掉了,但有程序依然在使用它。在程序執行期間,Linux 不會釋放該檔案的儲存空間。你需要找出這個程序然後重啟這個程序。

0?wx_fmt=jpeg

Check processes for deleted files

使用下面命令來定位程序。

  1. sudolsof/|grep deleted

這應該會列出出問題的程序了,然後重啟該程序。

  1. sudosystemctl restart service_name

i 節點不夠了

0?wx_fmt=jpeg

Linux check filesystem inodes

檔案系統中有一些稱為 “i 節點inode” 的元資料,其用來儲存檔案的相關資訊。很多檔案系統中的 i 節點數量是固定的,因此很可能 i 節點已經耗盡了而檔案系統本身還沒有用完。你可以使用 df 來檢查。

  1. sudodf-i /

比較一下已用的 i 節點和總共的 i 節點數量。如果沒有可用的 i 節點了,那麼很不幸,你也無法擴充 i 節點。刪除一些無用的和過期的檔案來釋放一些 i 節點吧。

環塊

最後一個很常見的問題就是壞的檔案系統塊。除非另有標記,否則作業系統很可能會認為這些塊都是可用的,這會導致檔案系統損壞或者硬碟壞死。最好是使用帶 -cc 標誌的 fsck 搜尋並標記出這些塊。記住,你不能使用正在使用的檔案系統(LCTT 譯註:即包含壞塊的檔案系統)中的 fsck 命令。你應該會要用到 live CD。

  1. sudofsck-vcck /dev/sda2

很明顯,這裡需要使用你想檢查的磁碟路徑取代命令中的磁碟位置。另外,要注意,這恐怕會花上很長一段時間。

相關使用 fsck 檢查並修復你的檔案系統 [Linux][2]

希望這些方案能解決你的問題。這種問題在任何情況下都不是那麼容易診斷的。但是,在運氣好的情況下,你可以把檔案系統清理乾淨並讓你的硬碟再次正常工作。

via: https://www.maketecheasier.com/fix-linux-no-space-left-on-device-error/

作者:Nick Congleton[4] 譯者:lujun9972 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出

LCTT 譯者0?wx_fmt=pnglujun9972 ? ? ? ?共計翻譯:48 篇貢獻時間:37 天

推薦文章

< 左右滑動檢視相關文章 >

0?wx_fmt=png0?wx_fmt=png0?wx_fmt=png0?wx_fmt=png0?wx_fmt=png0?wx_fmt=png0?wx_fmt=gif0?wx_fmt=gif

點選圖片、輸入文章 ID 或識別二維碼直達

原文連結請訪問“原文連結”獲得可點選的文內連結、全尺寸原圖和相關文章。