bat365在线平台

网际电脑公司-为企业办公运维解决方案服务
现在位置:首页 > 综合布线 >

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

服务外包公司  综合布线  2017-1-19  4413  0评论
扫码关注
服务器占用实际内存过大 这二天网站总是报504 Gateway Time-out错误;数据库错误;我按照惯例检查了下所有服务器的状态,发现这台服务器的内存占用比平常大很多,如下图

在官网下程序开发是否最近这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}'
查出问题进程禁止就可以了!
评论一下 分享本文
网际圈
  • 评论一下
    挤眼 亲亲 咆哮 开心 想想 可怜 糗大了 委屈 哈哈 小声点 右哼哼 左哼哼 疑问 坏笑 赚钱啦 悲伤 耍酷 勾引 厉害 握手 耶 嘻嘻 害羞 鼓掌 馋嘴 抓狂 抱抱 围观 威武 给力
    提交评论

    清空信息
    关闭评论