重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
这篇文章主要介绍了如何解决Linux硬盘满了造成的bug,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:主机域名、网站空间、营销软件、网站建设、东洲网站维护、网站推广。
前段时间公司的一个项目出现了一个 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
感谢你能够认真阅读完这篇文章,希望小编分享的“如何解决Linux硬盘满了造成的bug”这篇文章对大家有帮助,同时也希望大家多多支持创新互联,关注创新互联行业资讯频道,更多相关知识等着你来学习!