我们平时服务器使用时会遇到无法上传写入文件的问题,提示磁盘空间不足。
检查了空间磁盘是充足的,也排除了配额权限等其他问题。
这种情况就要考虑是inode占满的原因了,inode是文件索引节点,占满以后将无法创建新的文件一般都是存在大量小文件的原因。查询命令df -ih
但由于服务器文件非常多,不好确认是什么目录占用的,所以就需要进行统计。
统计当前目录下每个目录占用Inode大小(执行慢默认不使用此命令)
find */ ! -type l | cut -d / -f 1 | uniq -c
脚本统计方法:
使用示例:
perl check_inode.pl xxx
执行后出现>50000的目录j就是占用inode高的,如果没有就是最大值目录占用高。 比如下面截图示例统计到/home/wwwroot占用大,继续执行perl check_inode.pl /home/wwwroot,依次一层一层的执行统计,最终找到某网站的runtime占用,这是thinkphp框架程序的缓存目录,由此判断是thinkphp写入了大量缓存造成的,进入目录删除即可释放。
如果有什么需要,可以联系站长。
» 本文链接地址:https://blog.mydns.vip/4591.html
学习学习