首页 > Ubuntu服务器swap占用100%导致无法访问

Ubuntu服务器swap占用100%导致无法访问

一台Ubuntu服务器,已经正常运行半年有余,最近频繁出现无法提供服务的情况。

服务器上仅安装了公司内部使用的 Wordpress 和 Redmine 系统,访问量很小。

服务器硬件

服务器软件

故障现象

出现故障时,redmine无法访问,ruby报错无法连接数据库。

远程上服务器,发现swap基本用完,free经常为0(这张截图中还有15M)。

重启 apache2 之后,swap恢复正常

重启 mysql 的时候发现 mysql 服务已经挂了。

故障频率

这种现象起先大约2~3天一次,重启mysql 和apache后可正常运行一段时间。最近为几个小时一次。

重启服务器并不能减缓或解决这种现象。

求解决方案和思路,谢谢!


以我的估计,这个内存怎么想都是够用的。我的思路是空载冷启动系统,然后一个一个服务往上挂,看挂到哪个服务出问题


kernel说的很对,你最开始占用超标apache的内容占用什么样?
感觉上apache不应当这样,是在不知道的话尝试自己编译一个apache跑着试试?


你重启apache以后,内存的free也增长上去了,你最开始的截图里面没有看到apache的内存使用量是多少,按照内存使用量排序可以看一下apache和mysql消耗内存的增长速度。如果当机几秒钟没关系 可以考虑用cron job 在夜间定期重启apache和mysql。


访问量很小2.5G的内存没理由用完吧。可以用这个脚本看看哪个进程消耗了多少内存。
如果内存真的不够还是加内存吧,现在内存都白菜价了。

【热门文章】
【热门文章】