linux硬盘内存(Linux硬盘满了造成的一个bug(ERR_CONNECTION_RESET ))
前段时间公司的一个项目出现了一个 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:
这样就完美的解决了问题 。
创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!