评论

收藏

[Linux] Linux硬盘满了造成的一个bug(ERR_CONNECTION_RESET )

服务系统 服务系统 发布于:2022-04-02 12:41 | 阅读数:269 | 评论:0

前段时间公司的一个项目出现了一个 bug,使用 ajax 上传大文件时会出现网络问题。使用 chrome 开发者工具查看网络请求时,发现错误是 ERR_CONNECTION_RESET 。看到这个错误就想到访问 Google 出现的情况, 哈哈。然后用 IE 的开发人员工
前段时间公司的一个项目出现了一个 bug,使用 ajax 上传大文件时会出现网络问题。使用 chrome 开发者工具查看网络请求时,发现错误是 ERR_CONNECTION_RESET 。看到这个错误就想到访问 Google 出现的情况, 哈哈。然后用 IE 的开发人员工具查看网络请求,显示的错误码是 403。
这段时间也没更新代码,本地测试也是OK的。但是部署到服务器上就出问题了。因为服务器是租用淘宝聚石塔的,难道是因为防火墙的问题?但是也就仅仅只有这个页面存在问题,其他都是正常的。
服务器上安装了 nginx 和 tomcat ,查看 nginx 的访问日志,发现记录太多,放弃。查看错误记录发现提示磁盘空间不足,日志无法写入。
果断用 df -lh 查看磁盘占用情况,发现挂载点 / 已满。切换到根目录,运行 du -sh * 查看各文件夹大小,发现 var 占用了30多G,继续 du -sh /var/* 最终找到文件夹 /var/spool/clientmqueue 占用30多G。
Google /var/spool/clientmqueue 这个文件夹占用过大的原因发现是
系统中有用户开启了cron,而cron中执行的程序有输出内容,输出内容会以邮件形式发给cron的用户,而sendmail没有启动所以就产生了这些文件。
好吧,果断删除 /var/spool/clientmqueue 文件夹下的所有内容。重新测试,发现 bug 消失了。
然后去 /etc/cron* 看看有什么样的定时任务,发现有很多,应该是创建聚石塔服务器创建的,也不好修改。那么就只能采取迂回战术了。在 /etc/cron.daily 下新建文件 rmclientmqueue:
#!/bin/sh
rm -rf /var/spool/clientmqueue/*
chmod u+x rmclientmqueue
这样就完美的解决了问题。

关注下面的标签,发现更多相似文章