系统启动提示oom的处理过程

简介: entos 系统主机启动后提示oom,重启后第一时间也是oom

作者:枫凡

问题背景

centos 系统主机启动后提示oom,重启后第一时间也是oom
image.png

排查过程

接到此工单之前,通用技术同学已经尝试将系统内部禁止了nginx,php-fpm,mysqld,/etc/rc.local 中的/usr/bin/zabbix_server 的开机自启动,但依然无效,升级过来
常见服务已经禁止,重启也无效,可以使用单用户模式尝试进入查看加载,确认下是否系统服务影响
第一次没有看到启动过程,但是启动后也是提示oom,可以说明并非客户安装的第三方服务导致,而是由于系统内部自身的服务可能被添加篡改导致了
再重启第二次观察单用户模式启动过程,看到如下加载内容
image.png

可以定位问题了,/etc/init.d/functions 中有异常的内容在循环耗尽内存
挂载修复盘查看该文件内容,可以明显看到有一句话木马,就是“罪魁祸首”
image.png

解决方案

将/etc/init.d/functions 中添加的一句话木马注释重启后恢复正常

扩展

一句话木马解析

:( ) ;:

执行该语句会导致系统内存耗尽,有名的“fork炸弹”
原理就是定义一个函数,并不断递归,不停地制造后台任务
image.png

写的容易理解一点就是如下

function() 
;
function
相关文章
|
8月前
|
安全 Linux 应用服务中间件
操作系统引导过程 与 服务进程的控制
操作系统引导过程 与 服务进程的控制
|
8月前
|
算法 Unix Linux
Linux进程与信号:正常与异常的退出机制探索
Linux进程与信号:正常与异常的退出机制探索
586 1
|
8月前
|
监控
用c实现进程监控,如果某一进程退出则重启
用c实现进程监控,如果某一进程退出则重启
59 0
|
安全 Linux 芯片
很有用的速度优化:让系统启动速度更快
很有用的速度优化:让系统启动速度更快
|
监控 Python
系统中出现僵尸进程排查过程
记一次僵尸进程过多的排查过程
665 0
|
自然语言处理 算法 Linux
Linux中的pstree 查看进程树、netstat 显示网络状态和端口占用信息、kill 终止进程、进程管理类、ps 查看当前系统进程状态、内存置换算法LRU、查看与sshd相关进程
这时候没有了sshd守护进程了,那么远程登录就都登录不上了,只有再把sshd守护进程开启才可以再次远程登录,如果没有开启sshd守护进程,把所有的root进程的远程登录关掉,那么只能用主机操作了。比如将sshd全部杀死,这样的话远程登录的全部停了,而且也不能再次远程登录了,只能在主机上打开sshd守护进程才可以,这个就不演示了。killall 进程名称 (功能描述:通过进程名称杀死进程,也支持通配符,这 在系统因负载过大而变得很慢时很有用)linux常用命令下。linux常用命令中。linux常用命令上。.netstat –nlp | grep 端口号 (功能描述:查看网络端口号占用情况)ne
552 1
Linux中的pstree 查看进程树、netstat 显示网络状态和端口占用信息、kill 终止进程、进程管理类、ps 查看当前系统进程状态、内存置换算法LRU、查看与sshd相关进程
|
关系型数据库 Java 应用服务中间件
|
安全 Unix Linux
Linux异常进程排查 命令记录
Linux异常进程排查 命令记录
598 0
|
Linux
Linux系统查询指定路径下的进程,根据进程id号杀进程方法,进程卡死解决方法实例演示
Linux系统查询指定路径下的进程,根据进程id号杀进程方法,进程卡死解决方法实例演示
244 0
Linux系统查询指定路径下的进程,根据进程id号杀进程方法,进程卡死解决方法实例演示

相关实验场景

更多