1. 可以使用 命令查看磁盤空間
df -h
2. 使用查看每個目錄的大小的命令
du -sh *
經過查看沒有發現任何大的文件夾。 繼續下面的步驟
在Linux系統中,如果磁盤空間已滿,但使用 du -sh 命令無法找到大文件,可能是因為有些文件已被刪除,但進程仍在使用這些文件,導致磁盤空間未釋放。可以通過以下步驟查找這些文件并釋放相應的磁盤空間。
查找占用磁盤空間的已刪除文件
首先,可以使用 lsof(List Open Files)命令來查找被刪除但仍然占用磁盤空間的文件。
1.查找哪些進程占用了磁盤空間: 如果 lsof | grep deleted 的命令沒有返回結果,可以直接執行 sudo lsof +L1 命令。如下圖是我的進程占用的磁盤空間沒有釋放 直接 kill 掉進程后的磁盤空間。 在 lsof +L1 命令的輸出中,SIZE/OFF 列表示已刪除文件的大小或偏移量。需要注意以下幾點: 已刪除文件的大小:如果文件仍然在被進程使用,那么SIZE/OFF列將顯示該文件的當前大小或偏移量 不準確的大小:由于進程對已刪除文件的讀寫操作,SIZE/OFF列中的大小可能會發生變化,因此該信息可能不是完全準確的。 文件不再被使用:如果文件當前不再被任何進程使用,SIZE/OFF列將顯示為0。
sudo lsof | grep deleted
2.查找哪些進程占用了刪除的文件:
sudo lsof +L1
3.殺死占用已刪除文件的進程:
sudo kill -9