首页 > 文章资讯 > 站长教程 > 建站知识 > 索引节点(inode)用满导致mkdir: cannot create directory `xxx’: No space left on device解决方法!
索引节点(inode)用满导致mkdir: cannot create directory `xxx’: No space left on device解决方法!
时间:2023年06月14日
/来源:网络
/编辑:佚名
索引节点(inode)用满导致mkdir: cannot create directory `xxx’: No space left on device解决方法!
今天在处理网站报502 bad gateway时发现无法生成php-cgi.sock到tmp导致的服务器上所有网站报502
df -h发现系统盘和数据盘都是没有满的,创建文件或者创建目录下载文件都是无法执行,创建时提示:mkdir: cannot create directory `xxx’: No space left on device
df -i 其中/dev/mapper/vg_have-lv_root 884208 884208 0 100% /索引节点 (inode)满了 如下图:

已经找出问题所在,那么下面开始处理这个问题。
读出/目录下文件最多的目录:
for i in /*; do echo $i; find $i |wc -l|sort -nr; done
/var /www目录文件数高达10W以上,其中/var目录80W,/www为数据盘
再次读出/var目录下文件最多的目录:
for i in /var/*; do echo $i; find $i |wc -l|sort -nr; done
以此类推的往下找,最后在clientmqueue目录中文件数最多,切换到clientmqueue下使用rm -rf * 结果返回-bash: /bin/rm: Argument list too long
换用命令find . -print|xargs rm 过了一段时间终于删除了所有文件 df -i 下图可以看到文件数在减少

不过这种方法只是治标不治本的方法。
为什么var/spool/clientmqueue会产生大量的文件呢,查资料是因为cron执行时会将相关结果以mail方式发送到执行用户的帐号,可是当sendmail 沒有启动 那么所有信件就会暂存在这个目录中,此时就会出现这种情况。
治本的方法是在cron 任务中的后面加上 > /dev/null 2>&1
今天在处理网站报502 bad gateway时发现无法生成php-cgi.sock到tmp导致的服务器上所有网站报502
df -h发现系统盘和数据盘都是没有满的,创建文件或者创建目录下载文件都是无法执行,创建时提示:mkdir: cannot create directory `xxx’: No space left on device
df -i 其中/dev/mapper/vg_have-lv_root 884208 884208 0 100% /索引节点 (inode)满了 如下图:

已经找出问题所在,那么下面开始处理这个问题。
读出/目录下文件最多的目录:
for i in /*; do echo $i; find $i |wc -l|sort -nr; done
/var /www目录文件数高达10W以上,其中/var目录80W,/www为数据盘
再次读出/var目录下文件最多的目录:
for i in /var/*; do echo $i; find $i |wc -l|sort -nr; done
以此类推的往下找,最后在clientmqueue目录中文件数最多,切换到clientmqueue下使用rm -rf * 结果返回-bash: /bin/rm: Argument list too long
换用命令find . -print|xargs rm 过了一段时间终于删除了所有文件 df -i 下图可以看到文件数在减少

不过这种方法只是治标不治本的方法。
为什么var/spool/clientmqueue会产生大量的文件呢,查资料是因为cron执行时会将相关结果以mail方式发送到执行用户的帐号,可是当sendmail 沒有启动 那么所有信件就会暂存在这个目录中,此时就会出现这种情况。
治本的方法是在cron 任务中的后面加上 > /dev/null 2>&1
新闻资讯 更多
- 【建站知识】查询nginx日志状态码大于400的请求并打印整行04-03
- 【建站知识】Python中的logger和handler到底是个什么?04-03
- 【建站知识】python3拉勾网爬虫之(您操作太频繁,请稍后访问)04-03
- 【建站知识】xpath 获取meta里的keywords及description的方法04-03
- 【建站知识】python向上取整以50为界04-03
- 【建站知识】scrapy xpath遇见乱码解决04-03
- 【建站知识】scrapy爬取后中文乱码,解决word转为html 时cp1252编码问题04-03
- 【建站知识】scrapy采集—爬取中文乱码,gb2312转为utf-804-03