CPU使用率非常高但是无法找到具体进程
发布时间:2025-10-10 15:26:13.33 文章来源:AiSoftCloud 浏览次数:152 下载次数:1 

系统CPU使用率非常高但是无法找到具体进程问题

问题现象

系统CPU使用非常高,达到1200%,但是使用top/htop等工具无法看到具体什么进程使系统CPU占用很高,如下图所示:

问题原因

这种情况是因为有隐藏进程存在,但是top、htop等工具看不到,需要找到具体的隐藏进程
相关工具:unhide,使用如下命令安装:

  1. sudo apt install unhide

排查原因

  1. sudo unhide proc

结果如下:

  1. root@linux:/home/ubuntu# unhide proc
  2. Unhide 20130526
  3. Copyright © 2013 Yago Jesus & Patrick Gouin
  4. License GPLv3+ : GNU GPL version 3 or later
  5. http://www.unhide-forensics.info
  6. NOTE : This version of unhide is for systems using Linux >= 2.6
  7. Error : You must be root to run unhide !
  8. ubuntu@xhumanoid-NucBox-K9:~/kai$ sudo unhide proc
  9. Unhide 20130526
  10. Copyright © 2013 Yago Jesus & Patrick Gouin
  11. License GPLv3+ : GNU GPL version 3 or later
  12. http://www.unhide-forensics.info
  13. NOTE : This version of unhide is for systems using Linux >= 2.6
  14. Used options:
  15. [*]Searching for Hidden processes through /proc stat scanning
  16. Found HIDDEN PID: 1704
  17. Cmdline: "<none>"
  18. Executable: "<no link>"
  19. "<none> ... maybe a transitory process"
  20. Found HIDDEN PID: 1706
  21. Cmdline: "/dev/shm/netools"
  22. Executable: "/dev/shm/netools (deleted)"
  23. Command: "netools"
  24. $USER=<undefined>
  25. $PWD=/
  26. Found HIDDEN PID: 1708
  27. Cmdline: "/dev/shm/netools"
  28. Executable: "/dev/shm/netools (deleted)"
  29. Command: "netools"
  30. $USER=<undefined>
  31. $PWD=/
  32. Found HIDDEN PID: 1709
  33. Cmdline: "/dev/shm/netools"
  34. Executable: "/dev/shm/netools (deleted)"
  35. Command: "netools"
  36. $USER=<undefined>
  37. $PWD=/
  38. Found HIDDEN PID: 1710
  39. Cmdline: "/dev/shm/netools"
  40. Executable: "/dev/shm/netools (deleted)"
  41. Command: "netools"
  42. $USER=<undefined>
  43. $PWD=/
  44. Found HIDDEN PID: 1711
  45. Cmdline: "/dev/shm/netools"
  46. Executable: "/dev/shm/netools (deleted)"
  47. Command: "netools"
  48. $USER=<undefined>
  49. $PWD=/
  50. Found HIDDEN PID: 3016
  51. Cmdline: "/dev/shm/netools"
  52. Executable: "/dev/shm/netools (deleted)"
  53. Command: "netools"
  54. $USER=<undefined>
  55. $PWD=/
  56. Found HIDDEN PID: 3017
  57. Cmdline: "/dev/shm/netools"
  58. Executable: "/dev/shm/netools (deleted)"
  59. Command: "netools"
  60. $USER=<undefined>
  61. $PWD=/
  62. Found HIDDEN PID: 3018
  63. Cmdline: "/dev/shm/netools"
  64. Executable: "/dev/shm/netools (deleted)"
  65. Command: "netools"
  66. $USER=<undefined>
  67. $PWD=/
  68. Found HIDDEN PID: 3019
  69. Cmdline: "/dev/shm/netools"
  70. Executable: "/dev/shm/netools (deleted)"
  71. Command: "netools"
  72. $USER=<undefined>
  73. $PWD=/
  74. Found HIDDEN PID: 3020
  75. Cmdline: "/dev/shm/netools"
  76. Executable: "/dev/shm/netools (deleted)"
  77. Command: "netools"
  78. $USER=<undefined>
  79. $PWD=/
  80. Found HIDDEN PID: 3021
  81. Cmdline: "/dev/shm/netools"
  82. Executable: "/dev/shm/netools (deleted)"
  83. Command: "netools"
  84. $USER=<undefined>
  85. $PWD=/
  86. Found HIDDEN PID: 3022
  87. Cmdline: "/dev/shm/netools"
  88. Executable: "/dev/shm/netools (deleted)"
  89. Command: "netools"
  90. $USER=<undefined>
  91. $PWD=/
  92. Found HIDDEN PID: 3023
  93. Cmdline: "/dev/shm/netools"
  94. Executable: "/dev/shm/netools (deleted)"
  95. Command: "netools"
  96. $USER=<undefined>
  97. $PWD=/
  98. Found HIDDEN PID: 3024
  99. Cmdline: "/dev/shm/netools"
  100. Executable: "/dev/shm/netools (deleted)"
  101. Command: "netools"
  102. $USER=<undefined>
  103. $PWD=/
  104. Found HIDDEN PID: 3025
  105. Cmdline: "/dev/shm/netools"
  106. Executable: "/dev/shm/netools (deleted)"
  107. Command: "netools"
  108. $USER=<undefined>
  109. $PWD=/
  110. Found HIDDEN PID: 3026
  111. Cmdline: "/dev/shm/netools"
  112. Executable: "/dev/shm/netools (deleted)"
  113. Command: "netools"
  114. $USER=<undefined>
  115. $PWD=/
  116. Found HIDDEN PID: 3027
  117. Cmdline: "/dev/shm/netools"
  118. Executable: "/dev/shm/netools (deleted)"
  119. Command: "netools"
  120. $USER=<undefined>
  121. $PWD=/
  122. Found HIDDEN PID: 3028
  123. Cmdline: "/dev/shm/netools"
  124. Executable: "/dev/shm/netools (deleted)"
  125. Command: "netools"
  126. $USER=<undefined>
  127. $PWD=/
  128. Found HIDDEN PID: 3029
  129. Cmdline: "/dev/shm/netools"
  130. Executable: "/dev/shm/netools (deleted)"
  131. Command: "netools"
  132. $USER=<undefined>
  133. $PWD=/
  134. Found HIDDEN PID: 3030
  135. Cmdline: "/dev/shm/netools"
  136. Executable: "/dev/shm/netools (deleted)"
  137. Command: "netools"
  138. $USER=<undefined>
  139. $PWD=/
  140. Found HIDDEN PID: 3031
  141. Cmdline: "/dev/shm/netools"
  142. Executable: "/dev/shm/netools (deleted)"
  143. Command: "netools"
  144. $USER=<undefined>
  145. $PWD=/
  146. Found HIDDEN PID: 3032
  147. Cmdline: "/dev/shm/netools"
  148. Executable: "/dev/shm/netools (deleted)"
  149. Command: "netools"
  150. $USER=<undefined>
  151. $PWD=/
  152. Found HIDDEN PID: 3033
  153. Cmdline: "/dev/shm/netools"
  154. Executable: "/dev/shm/netools (deleted)"
  155. Command: "netools"
  156. $USER=<undefined>
  157. $PWD=/

从上面的检测结果来看,系统存在多个隐藏进程(HIDDEN PID),这些进程极有可能是恶意程序(如病毒、挖矿程序或后门),具有如下特征:

  • 1、进程路径:/dev/shm/netools(/dev/shm是内存临时目录,常被恶意程序用来隐藏文件)。
  • 2、状态:Executable: “/dev/shm/netools (deleted)”(程序文件已被删除,但进程仍在运行,典型的恶意程序清理痕迹)。
  • 3、大量重复进程:多个 PID(1706-1711、3016-3033 等)都运行相同的netools,可能是恶意程序的多进程挖矿或攻击行为,这也能解释之前 CPU 占用率异常高的问题(这些隐藏进程消耗了大量 CPU)。

这些进程可能在进行挖矿、窃取数据或发起网络攻击,且具备隐藏自身的能力(常规top/ps无法显示),需立即处理。

处理方法:
将上面结果保存(可以重定向到具体文件,如1.txt,sudo unhide proc > 1.txt):

  1. cat 1.txt | grep PID | awk -F ':' '{print $2}' | xargs -I {} kill -9 {}

杀掉上述异常进程后,系统恢复正常,过一会儿,在看,CPU又被占用了,使用unhide工具看到又有很多隐藏进程起来了!

  1. unhide proc
  2. Unhide 20130526
  3. Copyright © 2013 Yago Jesus & Patrick Gouin
  4. License GPLv3+ : GNU GPL version 3 or later
  5. http://www.unhide-forensics.info
  6. NOTE : This version of unhide is for systems using Linux >= 2.6
  7. Used options:
  8. [*]Searching for Hidden processes through /proc stat scanning
  9. Found HIDDEN PID: 53533
  10. Cmdline: "<none>"
  11. Executable: "<no link>"
  12. "<none> ... maybe a transitory process"
  13. Found HIDDEN PID: 53535
  14. Cmdline: "/dev/shm/netools"
  15. Executable: "/dev/shm/netools (deleted)"
  16. Command: "netools"
  17. $USER=<undefined>
  18. $PWD=/root
  19. Found HIDDEN PID: 53536
  20. Cmdline: "/dev/shm/netools"
  21. Executable: "/dev/shm/netools (deleted)"
  22. Command: "netools"
  23. $USER=<undefined>
  24. $PWD=/root
  25. Found HIDDEN PID: 53537
  26. Cmdline: "/dev/shm/netools"
  27. Executable: "/dev/shm/netools (deleted)"
  28. Command: "netools"
  29. $USER=<undefined>
  30. $PWD=/root
  31. Found HIDDEN PID: 53538
  32. Cmdline: "/dev/shm/netools"
  33. Executable: "/dev/shm/netools (deleted)"
  34. Command: "netools"
  35. $USER=<undefined>
  36. $PWD=/root

进到隐藏进程目录看一下(cd /proc/53533):

可以看到可以这货将exe文件软链接到’/dev/shm/netools(deleted)’
看一下fd目录(ls -rlt /proc/53533/fd):

task目录(ls -rlt /proc/53533/task):

反复几次都是如此,将隐藏任务杀死,过一会儿又重启了。

可以看出来肯定有一个定时任务定时启动运行,尝试将定时服务关闭掉:

  1. sudo systemctl stop cron.service

然后杀掉隐藏进程,后不再启动;排查定时任务设置(/etc/cron.d),有三个定时任务设置:

  1. anacron e2scrub_all RMKIkzOM

逐一排查,anacron和e2scrub_all均为系统默认的合法任务,RMKIkzOM中的内容为:

  1. */1 * * * * root /bin/acxDK1m7 1 1

从内容看这是一条明确的恶意定时任务!核心问题在于 /bin/acxDK1m7,这是一个陌生的、无系统默认关联的二进制文件,且以 root 权限每分钟执行一次(/1 *),极可能是 netools 恶意进程的自启动源头,必须立即删除并清理关联文件:

  1. sudo rm -rf /etc/cron.d/RMKIkzOM
  2. sudo rm -rf /bin/acxDK1m7

万事大吉!

更多文章可关注公众号
aisoftcloud