Linux服务器内存消耗过高解决方法
场景:
最近生产上的一台阿里云ECS服务器遭遇病毒攻击,导致内存总是占满,重启了也没用,最崩溃的时候直接无法连接,还是在阿里云提交了工单让工程师处理了以后才能继续连接,可是内存占满的问题依然没有解决,最终也是搜了不少资料以后才得以解决。
排查:
1、登录问题Linux服务器。
2、执行free和top命令,没有找到占用大量内存的进程。
3、执行如下命令,统计所有进程占用的物理内存,相加后与free命令结果进行核对,没有找到占用大量内存的进程。
ps aux|awk '{sum+=$6} END {print sum/1024}'
4、进一步排查进程消耗内存,执行如下命令,根据rss列排序结果,核实最大消耗内存进程,未查找出异常进程
ps -eo pid,rss,pmem,pcpu,vsz,args --sort=rss
5、继续执行以下操作,检测slab内存分配器占用情况,执行如下命令,未发现异常
cat /proc/meminfo | awk '{sum=$2/1024} {print $1 sum " MB"}'
注:以上命令执行过程中将默认的KB单位换算为了MB单位。
6、安装atop工具观察系统资源使用详细信息。
yum install atop
注意:内存已经接近满的情况下,是没有办法直接使用上面的命令安装atop工具的,会提示
virtual memory exhausted: Cannot allocate memory
所以顺便说一下,在内存已经接近满的情况下如何安装 atop工具 ?
解决办法:安装前先用swap扩展内存,扩展结束以后再进行安装
dd if=/dev/zero of=/opt/images/swap bs=1024 count=2048000mkswap /opt/images/swapswapon /opt/images/swapfree -m
下载源码包
wget http://www.atoptool.nl/download/atop-2.3.0.tar.gz解压:
tar -zxvf atop-2.3.0.tar.gz进入解压目录:
cd atop-2.3.0编译安装:
make
#CentOS 7执行:
make systemdinstall
#CentOS 7前的版本请执行:
make prefix=/usr/local/atop install
make install安装报错解决
若未安装gcc,执行:
yum install -y gcc
若提示zlib.h: No such file or directory,安装zlib:
wget http://zlib.net/zlib-1.2.11.tar.gz
tar -zxvf zlib-1.2.11.tar.gz
cd zlib-1.2.11
./configure --shared
make test
make install
cp zutil.h /usr/local/include
cp zutil.c /usr/local/include
使用完毕后可以关掉swap:
swapoff swap rm -f /opt/images/swap
7、atop工具安装完后,执行atop命令后,发现MEM那一行, hptot 占用了几乎所有内存(忘记留图了,只能语言描述),查资料以后发现是大页缓存,关闭大页缓存后,内存释放。
vi /etc/sysctl.confvm.nr_hugepages = 0
vm.nr_hugepages_mempolicy = 0手动执行命令让参数生效:sysctl -p
8、内存可用后,我通过history命令发现有病毒攻击命令
该命令就是在服务器上下载了一个xms脚本,然后篡改了sysctl.conf文件,导致使用大页缓存将内存沾满,访问该地址可以得到病毒脚本,仔细看病毒脚本中框出来的命令:
Linux服务器内存消耗过高解决方法相关推荐
- linux服务器内存占用太高-释放内存
修改/proc/sys/vm/drop_caches,释放Slab占用的cache内存空间(参考drop_caches的官方文档): Writing to this will cause the ke ...
- Spring cloud开发内存占用过高解决方法
https://blog.csdn.net/wanhuiguizong/article/details/79289986 版权声明:本文为博主原创文章,转载请声明文章来源和原文链接. https:// ...
- Firefox内存占用过高解决方法
一. 解决CPU占用率高,打开网页停顿的问题: 工具--选项--内容--启用Java这一项(去掉前面的勾)--确认,重启即可.(当使用firefox火狐浏览器浏览时,可能会造成某些需使用java项无法 ...
- memory内存占用过高 解决方法
查看内存用task manager 之前内存占用很高,同时开个matlab和spyder再用word就卡,实在受不了,在网上找了很多解决方法都不行,最后斥巨资买了内存条,结果加上之后电脑是不卡了,但是 ...
- 电脑内存占用过高怎么办 电脑内存占用过高解决方法
电脑内存占用过高怎么办?1,点击开始按钮,在搜索框中,输入服务,在弹出的搜索结中,点击打开服务 2,这里有很系统自动加载的一些服务,有些服务我们是用不到的,但系统会自动加载,占用不少内存,我们可以把一 ...
- Idea内存占用过高解决方法
问题描述 大多数人都知道使用idea时,发现idea内存消耗比较严重,尤其开启了idea后,CPU占比可以直接飙升到100%(这主要体现在刚启动的时候),系统的内存高达80%以上,甚至风扇呼呼作响,于 ...
- Linux系统内存占用过高排查方法
以下以Ubuntu系统为例,内存占用过高可能是因为某个进程或程序占用了过多的内存,您可以按照以下步骤进行排查: 以上是一些基本的排查步骤,它们可以帮助您确定内存占用过高的原因,并采取相应的措施解决问题 ...
- linux服务器ping大包,linux服务器出现丢包的解决方法
故障排查: 早上突然收到nagios服务器check_icmp的报警,报警显示一台网站服务器的内网网络有问题.因为那台服务器挂载了内网的NFS,因此内网的网络就采用nagios的check_icmp来 ...
- windows内存占用过高解决方法
针对问题,不习惯关机,平时都是休眠,40G的内存越用越高,最后直接使用占到98%: 为彻底解决这一问题,经研究后发现,快速启动会占用一部分资源,除此之外,一些进程未完全关闭,后台依然会占用部分资源,通 ...
最新文章
- 【机器学习】图解机器学习中的 12 种交叉验证技术
- Java GUI编程:swing实现上传tiff文件至hdfs功能
- daterangepicker 日期范围插件自定义 可选 年份
- oracle 取整点的数据,Oracle SQL语句操作数字:取整、四舍五入及格式化
- 什么是CDP(连续数据保护)?
- Oracle 等待事件(Wait Event):Sync ASM rebalance 解析
- 为iOS 项目引入其它开发包 的方法
- 源代码src修改为本地图片_20 行 Python 代码批量抓取免费高清图片!
- 华为机试HJ77:火车进站
- 实验3-7 统计学生成绩 (15 分)
- java变量练习_Java变量与运算符练习
- wordpress禁止恶意HTTP_USER_AGENT
- python基础(小甲鱼python入门笔记)
- 如何高效解决PCBA高精密电阻开尔文测试选针问题?
- C++、Java、JavaScript中的正则表达式
- 【内容安全】微服务学习笔记八:使用腾讯云T-Sec天御对文本及图片内容进行安全检测
- 计算机色颜色有几种,电脑显示器怎么选?10、8、6bit不同色深都有哪些区别?...
- JAVA后端面经总结——应用类
- Thickbox使用中的一些问题
- 【初学疑惑】开发者工具可信度高吗?Python爬虫实战场景