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

 更新时间:2019年08月16日 08:28:49   作者:拿着保温瓶的年轻人  
这篇文章主要给大家介绍了关于Linux杀不死的进程之CPU使用率700%的解决方法,文中通过示例代码介绍的非常详细,对大家学习或者使用Linux系统具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧

1. 问题发现

[root@zwlbs3 ~]# top

alt

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

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

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

alt

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

2. 查看进程的详细信息

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

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

如图:

alt

发现该进程是在 /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"

alt

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

alt

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

alt

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

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

4. 重启大法

alt

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

alt

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

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

总结

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

相关文章

  • 详解几种Linux 查询外网出口IP命令的方法

    详解几种Linux 查询外网出口IP命令的方法

    本篇文章主要介绍了详解几种Linux 查询外网出口IP的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    2017-03-03

  • Linux入侵常用命令之防Hacker示例代码

    Linux入侵常用命令之防Hacker示例代码

    这篇文章主要给大家介绍了关于Linux入侵常用命令之防Hacker的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

    2018-05-05

  • Linux下rz/sz安装及使用方法示例

    Linux下rz/sz安装及使用方法示例

    这篇文章主要介绍了Linux下rz/sz安装及使用方法示例,详细的介绍了如何使用和安装rz/sz,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

    2018-06-06

  • Linux企业运维人员常用的150个命令分享

    Linux企业运维人员常用的150个命令分享

    这篇文章主要介绍了Linux企业运维人员常用的150个命令(欢迎补充),具体多少个来着,我也没数。分享给大家,供需要的朋友参考。

    2017-10-10

  • CentOS 6.3 安装配置Apache2.2.6的方法(源码编译安装)

    CentOS 6.3 安装配置Apache2.2.6的方法(源码编译安装)

    这篇文章主要介绍了CentOS 6.3 安装配置Apache2.2.6的方法,需要的朋友可以参考下

    2014-11-11

  • Ubuntu系统下扩展LVM根目录的方法

    Ubuntu系统下扩展LVM根目录的方法

    这篇文章主要给大家介绍了关于Ubuntu系统下扩展LVM根目录的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

    2018-05-05

  • You don’t have permission to access /index.php on.

    You don’t have permission to access /index.php on.

    运行php时提示You don’t have permission to access /index.php on.错误的解决方法,需要的朋友可以参考下

    2013-02-02

  • Linux 通过Rsync+Inotify实现本、异地远程数据实时同步功能

    Linux 通过Rsync+Inotify实现本、异地远程数据实时同步功能

    这篇文章主要介绍了Linux 通过Rsync+Inotify实现本、异地远程数据实时同步功能,需要的朋友可以参考下

    2020-04-04

  • varnish 配置文件分享(sens杨 注释)

    varnish 配置文件分享(sens杨 注释)

    varnish 为目前新兴起来的软件,由于中文文档比较少,配置文件比较复杂,所以在运用起来也是特别的费劲。一个偶然的机会在一个群里,有位varnish高手( sens杨 )发表了一篇他对varnish配置文件理解的文档。对于学者来说很有价值。所以转载了过来

    2016-02-02

  • 80端口被占用 Apache启动失败的解决方法

    80端口被占用 Apache启动失败的解决方法

    80端口被占用,Apache启动失败,遇到这个问题真的很头疼,这篇文章主要就为大家介绍了80端口被占用,Apache启动失败的解决方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

    2017-03-03

最新评论

声明:本站(华域联盟www.cnhackhy.com)所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。