Linux杀不死的进程之CPU使用率700%

  • 时间:
  • 浏览:4

i. 发现有个tcp连接CPU使用率你造700%,COMMAND 是那么 来太久那么 来太久随机的字符串组成,完了~ 中标了;第一想到但会 “沙雕”它,kill 命令给我上。

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

ii. 但会 发现 kill 该tcp连接平静一会后又启动了。

注:老图复用,PID、COMMAND 全是变化。

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

# "748"是该tcp连接的 PID,根据你的 PID 来查看即可。

如图:

发现该tcp连接是在 /dev/shm 目录下的,/dev/shm 是4个 那些目录呢?

从网上摘下来一段那么 来太久那么 来太久人解一下 /dev/shm

1) 首先都能够看出来/dev/shm是4个 设备文件, 都能够把/dev/shm看作是系统内存的入口, 都能够把它看做是一块物理存储设备,4个 tmp filesystem, 让我通过你你你什儿 设备向内存中读写文件, 以加快那么 来太久那么 来太久I/O高的操作,比如对4个 大型文件频繁的open, write, read。

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

3)  既然是基于内存的文件系统,系统重启后/dev/shm下的文件就不位于了。Linux默认(CentOS)/dev/shm分区的大小是系统物理内存的80%, 虽说使用/dev/shm对文件操作的时延会高那么 来太久那么 来太久那么 来太久那么 来太久。但会 目前各发行软件中却很少有使用它的(除了前面提到的Oracle), 都能够通过ls /dev/shm查看下面是否是有文件, 但会 那么 但会 明当前系统并那么 使用该设备。

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

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

# 那么

任何相关的文件,奇怪了。
  • crontab 也那么 相关计划任务。
  • 使用 which 命令也那么 找到相关的文件。
  • 查看系统日志也是正常,非常奇怪。
  • 几乎那么 找到该tcp连接相关的文件。

i. 查看某个tcp连接内部人员tcp连接占用情况分析

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

ii. 但会 有那么 多相关的tcp连接,删剪 kill 掉

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

本以为正确处理了,结果过了2个小时检查发现又跳出 了,该死的。

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

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

  • 该恶意tcp连接有那些作用?为什么么只消耗CPU资源?但会 未找到相关文件信息,原困 也暂时未清楚。
  • 知道的大佬麻烦告诉我一下,非常感谢!