Ubuntu

git 報告“設備上沒有剩餘空間”,但 df -h 說有 2.5G 可用

  • October 14, 2020

我有一個執行 Ubuntu 14.04 的 EC2 節點。在今天早上的部署中,我從 git fetch 收到以下錯誤消息:

error: unable to create temporary file: No space left on device

我登錄到伺服器並且 df -h 表明我有足夠的空間:

$ df -h
Filesystem      Size  Used Avail Use% Mounted on
udev            492M   12K  492M   1% /dev
tmpfs           100M  488K   99M   1% /run
/dev/xvda1      7.8G  4.9G  2.5G  67% /
none            4.0K     0  4.0K   0% /sys/fs/cgroup
none            5.0M     0  5.0M   0% /run/lock
none            497M  4.0K  497M   1% /run/shm
none            100M     0  100M   0% /run/user

我在這裡誤讀了 df 嗎?我的理解是 EC2 上的 /tmp 駐留在 /dev/xvda1 上,但也許我錯了?

驗證系統 inode:

root #df -i /

如果使用率接近 100%,請嘗試使用

xdiskusage /

找出佔用 inode 的內容。

可悲的是,一旦創建了文件系統,就沒有辦法增加文件系統上的 inode 數量。

除了 LVM,它可以通過 resize2fs 擴展 inode 的數量

參考:設備上沒有剩餘空間,但有足夠的可用空間

  1. 可能是某些應用程序正在創建大量小文件並完全耗盡 inode。您可能會尋找此類流氓應用程序並刪除不需要的文件。
  2. inode 限制不能動態增加,但是如果您使用的是 LVM,您可能會考慮增加卷的大小,否則進行備份並創建一個指定更高 inode 限制的新文件系統。

引用自:https://serverfault.com/questions/838696