统计
  • 建站日期:2012-11-11
  • 文章总数:5611 篇
  • 评论总数:423 条
  • 分类总数:32 个
  • 最后更新:3月30日

解决linux服务器占用实际内存过大问题

服务器占用实际内存过大 这二天网站总是报504 Gateway Time-out错误;数据库错误;我按照惯例检查了下所有服务器的状态,发现这台服务器的内存占用比平常大很多,如下图

服务器占用实际内存过大.jpg

在官网下程序开发是否最近这1-2天改了什么东西,在得知没有改什么的情况下,马上重启了下php-fpm和nginx,重启之后看了下,内存释放出了1G,但这还不行,因为这台服务器是8G内存,平时最多使用4G多的样子,想今天使用到了7G多都快把服务器内存占用完了,很明显是不正常的,继续进行检查.

  在检查过程中,我使用了top来看到底是哪个进程占用内存最大,看了近1分钟没有发现什么,然后使用命令查看占用内存最大的10个进程:

ps -aux | sort -k4nr | head -n 10

也只是显示了nginx和php-fpm占用内存最大,但我重启了这两个进程,看来跟他们2个无关,我又开始怀疑是不是服务器被黑了,马上查看进程ps aux,这一看就发现了问题,有个脚本在进程里有很多个产生,马上执行下面命令进行kill掉:

kill -9 $(ps aux | grep 进程名 |grep -v grep| awk '{print $2}')

现在这看内存使用率,内存终于正常了,好了,再观察几分钟,没有问题退出服务器了,继续检查那个脚本的问题.



ps:这里要强调的事,不要根据自己的直觉去随便以为是什么的问题,最好是调查清楚了再去执行,比如我这里就是根据自己的直觉以为是nginx和php-fpm的问题,还好是跟老大打了招呼重启的,不然后果很严重.



再给大家一个查看内存占用最大的进程的命令:

ps aux| grep -v "USER" |sort -n -r -k 4 |awk 'NR==1{ print $0}'

查出问题进程禁止就可以了!

-- 展开阅读全文 --
这篇文章最后更新于2017-1-19,已超过 1 年没有更新,如果文章内容或图片资源失效,请留言反馈,我们会及时处理,谢谢!
免责申明
解决linux服务器占用实际内存过大问题:本文来自投稿,不代表本站立场,如若转载,请注明出处:https://www.wjdiy.cn/buxian/3033.html 如有侵权请邮件与我们联系处理。敬请谅解!
解决504 Gateway Time-out办法
« 上一篇 01月18日
用flashfxp把templates文件设置成0777权限图文
下一篇 » 01月21日
为了防止灌水评论,登录后即可评论!
注册登录

还没有评论,快来抢沙发吧!