linux df 和 OSError: [Errno 28] 設備上沒有剩餘空間

linux df 和 OSError: [Errno 28] 設備上沒有剩餘空間

我有一個奇怪的不一致之處(儘管我可能只是錯過了一些非常基本的東西)。在運行一些在我的 I 磁碟上產生小檔案的腳本時,我不斷收到此錯誤:

OSError: [Errno 28] No space left on device

但是當我運行 df -h 時,我得到:

Filesystem            Size  Used Avail Use% Mounted on
/dev/sda2              15G   12G  2.2G  85% /
udev                  502M  144K  502M   1% /dev
none                  502M     0  502M   0% /dev/shm
none                  502M   72K  502M   1% /var/run
none                  502M     0  502M   0% /var/lock
none                  502M     0  502M   0% /lib/init/rw

那麼我的磁碟空間是否不足?

感謝您的任何意見!

答案1

您可能沒有索引節點了。嘗試df -i

答案2

這可能有幾個原因:

  • 一個進程目前正在寫入一個大文件,因此磁碟使用統計資料在文件關閉之前不會更新。在這種情況下,您必須透過運行來檢查已使用的總空間

sudo du -k /你的/路徑

  • 有一個或多個已刪除的檔案仍在被某個進程使用,因此 df 實用程式在計算總磁碟使用量時不會考慮它們;你可以透過運行找到這些文件

須藤 lsof / | grep 刪除

  • 檔案系統耗盡了 inode,您可以透過執行來檢查

sudo df -i /你的/路徑

相關內容