Linux杀不死的进程之CPU使用率700%解决方法

1. 问题发现

[root@zwlbs3 ~]# top

i. 发现有个进程CPU使用率居然700%,COMMAND 是一些随机的字符串组成,完了~ 中标了;第一想到就是“沙雕”它,kill 命令给我上。

[root@zwlbs3 ~]# kill -9 "PID"

ii. 但是发现 kill 该进程平静一会后又启动了。

注:老图复用,PID、COMMAND 都有变化。

2. 查看进程的详细信息

[root@zwlbs3 ~]# cd /proc/748/
[root@zwlbs3 748]# ls -ial

# "748"是该进程的 PID,根据你的 PID 来查看即可。

如图:

发现该进程是在 /dev/shm 目录下的,/dev/shm 是一个什么目录呢?

从网上摘下来一段我们解一下 /dev/shm

1) 首先可以看出来/dev/shm是一个设备文件, 可以把/dev/shm看作是系统内存的入口, 可以把它看做是一块物理存储设备,一个tmp filesystem, 你可以通过这个设备向内存中读写文件, 以加快某些I/O高的操作,比如对一个大型文件频繁的open, write, read。

2) 据说oracle就利用了/dev/shm(shitou没用过oracle), 可以通过mount命令列出当前的/dev/shm的挂载的文件系统。

3) 既然是基于内存的文件系统,系统重启后/dev/shm下的文件就不存在了。Linux默认(CentOS)/dev/shm分区的大小是系统物理内存的50%, 虽说使用/dev/shm对文件操作的效率会高很多。但是目前各发行软件中却很少有使用它的(除了前面提到的Oracle), 可以通过ls /dev/shm查看下面是否有文件, 如果没有就说明当前系统并没有使用该设备。

查看 /dev/shm 目录的有没有相关文件

[root@zwlbs3 ~]# ls -a /dev/shm/
. ..

# 没有任何相关的文件,奇怪了。
  • crontab 也没有相关计划任务。
  • 使用 which 命令也没有找到相关的文件。
  • 查看系统日志也是正常,非常奇怪。
  • 几乎没有找到该进程相关的文件。

3. 解决办法

i. 查看某个进程内部线程占用情况分析

[root@zwlbs3 ~]# top -H -p "PID"

ii. 原来有这么多相关的进程,全部 kill 掉

iii. 过来几分钟再次检查,发现系统负载恢复正常

本以为解决了,结果过了几个小时检查发现又出现了,该死的。

由于生产环境不方便重启服务器,被逼无奈情况下只好试试 重启大法 了。

4. 重启大法

重启服务器后一个小时,再次检查已经恢复正常了,还是 重启大法 好使。

该恶意程序有什么作用?为何只消耗CPU资源?由于未找到相关文件信息,原因也暂时未清楚。

知道的大佬麻烦告诉我一下,非常感谢!

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对我们的支持。

(0)

相关推荐

  • 详解Linux CPU负载和CPU使用率

    CPU负载和 CPU使用率 这两个从一定程度上都可以反映一台机器的繁忙程度. cpu使用率反映的是当前cpu的繁忙程度,忽高忽低的原因在于占用cpu处理时间的进程可能处于io等待状态但却还未释放进入wait. 平均负载(load average)是指某段时间内占用cpu时间的进程和等待cpu时间的进程数,这里等待cpu时间的进程是指等待被唤醒的进程,不包括处于wait状态进程. 以上分析可以看出,一台机器很有可能处于低cpu使用率高负载的情况,因此看机器的繁忙程度应该结合两者,从实际的使用情况观

  • Linux杀不死的进程之CPU使用率700%解决方法

    1. 问题发现 [root@zwlbs3 ~]# top i. 发现有个进程CPU使用率居然700%,COMMAND 是一些随机的字符串组成,完了~ 中标了:第一想到就是"沙雕"它,kill 命令给我上. [root@zwlbs3 ~]# kill -9 "PID" ii. 但是发现 kill 该进程平静一会后又启动了. 注:老图复用,PID.COMMAND 都有变化. 2. 查看进程的详细信息 [root@zwlbs3 ~]# cd /proc/748/ [roo

  • linux下通过go语言获得系统进程cpu使用情况的方法

    本文实例讲述了linux下通过go语言获得系统进程cpu使用情况的方法.分享给大家供大家参考.具体分析如下: 这段代码通过linux的系统命令 ps来分析cpu的使用情况,代码如下: 复制代码 代码如下: package main import (     "bytes"     "log"     "os/exec"     "strconv"     "strings" ) type Process s

  • linux下因为系统编码问题造成乱码的快速解决方法

    最近一段时间遇到一些润乾的应用在linux系统下面乱码的问题,最后检查后都发现是客户的linux系统默认编码设置的不正确造成的,这种原因造成乱码的现象一般都是程序里面写死了的中文字符能正常展现,但是从数据库中取出来的或者从程序中读出来的中文字符就会出现乱码. 下面就介绍一下由于linux系统编码设置不正确造成润乾报表应用乱码问题的解决办法. 第一步:检查linux的系统编码. 检查linux的系统编码,确定系统是否支持中文.在linux系统的终端中输入命令:locale,就会看到打印出的系统编码

  • Linux下Tomcat启动正常,但浏览器无法访问的解决方法

    1.服务器可ping通 2.服务器抓本地的http请求包,可以抓到 3.本地抓服务器返回的http响应包,抓不到 经过查找,是由于开启了Linux防火墙 查看防火墙配置(需要root权限) [root@localhost ~]# service iptables status Redirecting to /bin/systemctl status  iptables.service iptables.service - IPv4 firewall with iptables Loaded: l

  • linux系统重装导致免密码key登录失败的解决方法

    在一台linux机器上ssh远程另外一台linux服务器时候出现: [root@server .ssh]# ssh 192.0.50.80 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

  • 新装linux系统/etc/sysconfig目录下无iptables文件的解决方法

    今天新装了Linux,希望去做些防火墙的策略,使用service iptables status查看防火墙的状态时,无任何反应,且使用service iptables start也启动不聊.后来发现在/etc/sysconfig目录下没有iptables文件(防火墙的策略一般都写在此文件中). 原因:在新安装的Linux系统中,防火墙默认是被禁掉的,一般也没有配置过任何防火墙的策略,所有不存在/etc/sysconfig/iptables文件. 解决方法: 在控制台使用iptables命令随便写

  • 同一个文件在windows和linux下计算md5哈希不一致的原因及解决方法

    最近项目需要,需要对客户传过来的文件进行MD5校验,在实现的过程中前前后后遇到了若干问题,在这里总结一下. md5的计算采用openssl实现,具体代码网上很多,这里不再赘述.需要注意的问题 1 读取文件内容时,文件打开方式要用二进制方式(rb),因为用户文件有可能是linux格式,如果用文本方式打开,可能会改变原始的内容,造成计算不准. 2 结果检验.windows可以随便下载一个md5计算工具,网上很多,我用的是HashMyFiles.linux下面,md5sum 文件名 即可. 还有一个隐

  • Linux CentOS 6.5 ifconfig查询不到ip的解决方法

    最近有小伙伴表示在虚拟机中安装CentOS之后使用ifconfig以及ip addr指令无法查询到ip地址, 在此笔者提供一个简单有效的方法; 1. 切换为root用户登录 su root 2.进入配置查找相关文件的文件夹内, 找到ifcfg-eth0文件 cd /etc/sysconfig/network-scripts 3.修改该文件, 将ONBOOT=no更改为ONBOOT=yes vi ifcfg-eth0 4.保存退出 :wq 5.查询ip ifconfig 总结 以上所述是小编给大家

  • Linux执行可执行文件提示No such file or directory的解决方法

    最近在使用Linux操作系统执行一个可执行文件,结果出现了No such file or directory的提示,表示很疑惑. ./tshrf bash: ./tshref: No such file or directory 查看文件信息,可以看到文件是存在的,并且是可以执行的. -rwxr-xr-x 1 yuan yuan 20581 4月 29 2004 tshref 查阅资料后,原因是系统位数与该可执行文件需要的lib库位数不匹配. 用uname命令打印系统信息,发现系统是64位系统

  • Linux下安装软件包报依赖等相关问题的解决方法

    目录 背景 1)开启 yum 的 keepchche 功能:方法1 2) yum-utils 软件:方法2 3) lrzsz 下载上传 背景 在内网服务器下无法利用yum进行安装,需要自行安装可能会出现相关依赖报错(依赖软件包版本不兼容)的情况出现,解决思路:可以找一台相同操作系统版本且支持yum下,通过已安装的软件包拷贝到另一台机器上进行安装. 1)开启 yum 的 keepchche 功能:方法1 vi /etc/yum.conf keepcache =1 # 修改为1 例:安装 iptab

随机推荐