我运行的程序的 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
来识别主进程并杀死它。