高程序负载,当杀死程序进程时,Linux不会回到0.5的正常负载。为什么?

高程序负载,当杀死程序进程时,Linux不会回到0.5的正常负载。为什么?

我运行的程序的 CPU 负载达到 39.99,显然超出了我的 4 核 CPU 的处理能力,但是为什么当我杀死该程序(被杀死)时,当我没有打开 CPU 负载时​​,CPU 负载不会下降到 0.50节目开?

另外,我注意到CPU负载不会像程序被杀死后立即下降到0.5,你需要等待它慢慢下降。这是为什么?

答案1

您可能读到的是 1 分钟、5 分钟或 15 分钟负载平均的。该平均值不会立即下降,而是随着相关时间范围内的平均负载下降而缓慢下降。

15 分钟后,您终止的进程的影响将不再影响任何平均负载。

您系统上的相关手册:

  • man uptime;显示平均负载和系统正常运行时间。此信息也显示top(以及更多数据)。
  • man getloadavg;库函数的手册,该函数返回系统的负载平均值,由uptime和使用top

答案2

有时“关闭”程序只是将终止信号发送到与 GUI 或界面相关的子进程。但主进程(父进程)保持活动状态。

尝试使用htop来识别主进程并杀死它。

相关内容