git报告“设备上没有剩余空间”,但df -h说有2.5G可用

我有一个运行Ubuntu 14.04的EC2节点。 在今天上午的部署中,我从git fetch收到以下错误消息:

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

我login到服务器,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上,但也许我错了?

validation系统inode:

 root #df -i / 

如果使用率接近100%,请尝试使用

 xdiskusage / 

了解什么是占领inodes。

可悲的是,一旦文件系统被创build,就无法增加文件系统上的inode数量。

除了LVM,它可以通过resize2fs扩展inode的数量

提到: 没有空间留在设备上,而有足够的空间

  1. 这可能是一些应用程序正在创造大量的小文件,并彻底耗尽inode。 你可能会寻找这样的stream氓应用程序,并删除不需要的文件。

  2. inode限制不能dynamic增加,但是如果使用LVM,则可能会考虑增加卷的大小,否则请进行备份,并创build指定更高inode限制的新文件系统。

您可以使用find命令来扫描具有批量文件的目录,并且可以根据您的标准执行清理

find /dev/xvda1 -type f -size +1M -exec ls -ltrh {} \; 当你find需要执行清理的地方或目录时,在源代码目录path中进行清理

 find /dev/xvda1/dummy -type f -size +1M -mtime +120 -exec rm -rf {} \; 

在上面,我正在从一个名为dummy的目录中删除较旧的文件