我有一个磁盘驱动器,其中inode使用率为100%(使用df -i命令)。 但是在大量删除文件后,使用率仍然是100%。
那么正确的做法是什么呢?
一个磁盘空间使用较少的磁盘驱动器怎么可能有 更高的Inode使用率比更高的磁盘驱动器磁盘空间使用率?
它是可能的,如果我压缩大量的文件,会减少使用的索引节点数?
我有一个磁盘驱动器,其中inode使用率为100%(使用df -i命令)。 但是在大量删除文件后,使用率仍然是100%。
那么正确的做法是什么呢?
一个磁盘空间使用较少的磁盘驱动器怎么可能有 更高的Inode使用率比更高的磁盘驱动器磁盘空间使用率?
它是可能的,如果我压缩大量的文件,会减少使用的索引节点数?
当前回答
如果您非常不幸,您已经使用了大约100%的inode,并且无法创建scipt。 你可以用df -ih来检验。
那么这个bash命令可以帮助您:
sudo find . -xdev -type f | cut -d "/" -f 2 | sort | uniq -c | sort -n
是的,这将花费时间,但您可以找到拥有最多文件的目录。
其他回答
我有同样的问题,通过删除php的目录会话来修复它
rm -rf /var/lib/php/sessions/
如果您使用的是较旧的php版本,它可能在/var/lib/php5下。
使用以下权限重新创建它
mkdir /var/lib/php/sessions/ && chmod 1733 /var/lib/php/sessions/
Debian默认目录权限显示drwx-wx-wt (1733)
我的解决方案:
尝试查找这是否是一个inodes问题:
df -ih
尝试查找索引节点数较大的根文件夹:
for i in /*; do echo $i; find $i |wc -l; done
试着找到特定的文件夹:
for i in /src/*; do echo $i; find $i |wc -l; done
如果这是linux头文件,尝试删除最老的文件:
sudo apt-get autoremove linux-headers-3.13.0-24
就我个人而言,我把它们移动到一个挂载文件夹(因为对我来说,上一个命令失败了),并安装了最新的:
sudo apt-get autoremove -f
这解决了我的问题。
如果你使用docker,删除所有图像。他们使用了很多空间....
停止所有容器
docker stop $(docker ps -a -q)
删除所有容器
docker rm $(docker ps -a -q)
删除所有图片
docker rmi $(docker images -q)
对我有用
执行sudo apt-get autoremove命令 在某些情况下,它是有效的。如果存在以前未使用的头数据,则将清除这些数据。
在一次垃圾邮件攻击后,我们在一个HostGator帐户(他对所有主机都设置了inode限制)上遇到过这种情况。它在/root/.cpanel/comet中留下了大量队列记录。如果发生这种情况,你发现你没有空闲的inode,你可以通过shell运行这个cpanel实用程序:
/usr/local/cpanel/bin/purge_dead_comet_files