场景:

最近生产上的一台阿里云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服务器内存消耗过高解决方法相关推荐

  1. linux服务器内存占用太高-释放内存

    修改/proc/sys/vm/drop_caches,释放Slab占用的cache内存空间(参考drop_caches的官方文档): Writing to this will cause the ke ...

  2. Spring cloud开发内存占用过高解决方法

    https://blog.csdn.net/wanhuiguizong/article/details/79289986 版权声明:本文为博主原创文章,转载请声明文章来源和原文链接. https:// ...

  3. Firefox内存占用过高解决方法

    一. 解决CPU占用率高,打开网页停顿的问题: 工具--选项--内容--启用Java这一项(去掉前面的勾)--确认,重启即可.(当使用firefox火狐浏览器浏览时,可能会造成某些需使用java项无法 ...

  4. memory内存占用过高 解决方法

    查看内存用task manager 之前内存占用很高,同时开个matlab和spyder再用word就卡,实在受不了,在网上找了很多解决方法都不行,最后斥巨资买了内存条,结果加上之后电脑是不卡了,但是 ...

  5. 电脑内存占用过高怎么办 电脑内存占用过高解决方法

    电脑内存占用过高怎么办?1,点击开始按钮,在搜索框中,输入服务,在弹出的搜索结中,点击打开服务 2,这里有很系统自动加载的一些服务,有些服务我们是用不到的,但系统会自动加载,占用不少内存,我们可以把一 ...

  6. Idea内存占用过高解决方法

    问题描述 大多数人都知道使用idea时,发现idea内存消耗比较严重,尤其开启了idea后,CPU占比可以直接飙升到100%(这主要体现在刚启动的时候),系统的内存高达80%以上,甚至风扇呼呼作响,于 ...

  7. Linux系统内存占用过高排查方法

    以下以Ubuntu系统为例,内存占用过高可能是因为某个进程或程序占用了过多的内存,您可以按照以下步骤进行排查: 以上是一些基本的排查步骤,它们可以帮助您确定内存占用过高的原因,并采取相应的措施解决问题 ...

  8. linux服务器ping大包,linux服务器出现丢包的解决方法

    故障排查: 早上突然收到nagios服务器check_icmp的报警,报警显示一台网站服务器的内网网络有问题.因为那台服务器挂载了内网的NFS,因此内网的网络就采用nagios的check_icmp来 ...

  9. windows内存占用过高解决方法

    针对问题,不习惯关机,平时都是休眠,40G的内存越用越高,最后直接使用占到98%: 为彻底解决这一问题,经研究后发现,快速启动会占用一部分资源,除此之外,一些进程未完全关闭,后台依然会占用部分资源,通 ...

最新文章

  1. 【机器学习】图解机器学习中的 12 种交叉验证技术
  2. Java GUI编程:swing实现上传tiff文件至hdfs功能
  3. daterangepicker 日期范围插件自定义 可选 年份
  4. oracle 取整点的数据,Oracle SQL语句操作数字:取整、四舍五入及格式化
  5. 什么是CDP(连续数据保护)?
  6. Oracle 等待事件(Wait Event):Sync ASM rebalance 解析
  7. 为iOS 项目引入其它开发包 的方法
  8. 源代码src修改为本地图片_20 行 Python 代码批量抓取免费高清图片!
  9. 华为机试HJ77:火车进站
  10. 实验3-7 统计学生成绩 (15 分)
  11. java变量练习_Java变量与运算符练习
  12. wordpress禁止恶意HTTP_USER_AGENT
  13. python基础(小甲鱼python入门笔记)
  14. 如何高效解决PCBA高精密电阻开尔文测试选针问题?
  15. C++、Java、JavaScript中的正则表达式
  16. 【内容安全】微服务学习笔记八:使用腾讯云T-Sec天御对文本及图片内容进行安全检测
  17. 计算机色颜色有几种,电脑显示器怎么选?10、8、6bit不同色深都有哪些区别?...
  18. JAVA后端面经总结——应用类
  19. Thickbox使用中的一些问题
  20. 【初学疑惑】开发者工具可信度高吗?Python爬虫实战场景

热门文章

  1. 如何评估服务端压测指标
  2. python文本编辑器怎么运行_python程序编辑和运行的几种方法
  3. x265线程池机制和并行编码机制分析
  4. 二级c语言程序基础知识,计算机二级《C语言》基本知识点
  5. 火狐不能html转execl,使用Blob无法在FireFox中使用Excel导出JavaScript
  6. Linux部署若依项目
  7. pytorch深度学习框架--gpu和cpu的选择
  8. 制作天气接口API服务器【1.天气模块】
  9. 如何成为云原生技术高阶玩家?华为云最近做了这件事
  10. 【iuap5.0特性解读】构建以业务创新和能力沉淀为核心的中台架构体系