Answers:
负载不等于CPU使用率。它基本上是一个指标,指示有多少进程正在等待执行。
一些有用的链接:
htop
一个不错的“图形”概述。
uptime
显示系统负载(不完全是CPU使用率),其描述man uptime
如下:
系统平均负载是处于可运行或不可中断状态的平均进程数。处于可运行状态的进程正在使用CPU或等待使用CPU。处于不间断状态的进程正在等待某些I / O访问,例如,等待磁盘。在三个时间间隔内取平均值。负载平均没有针对系统中CPU的数量进行标准化,因此负载平均为1表示单个CPU系统始终处于加载状态,而在4 CPU系统上则意味着75%的时间处于空闲状态。
只要负载小于您拥有的CPU内核数,就可以了。如果超过了它,则意味着您的系统无法“实时”处理其工作负载。因此,某些进程需要等待获取CPU时间(或IO访问)。等待线已创建。
如果您的负载为2.7,则表示平均(在最后1分钟,5分钟或15分钟内,具体取决于您看到的值),有2.7个进程试图并行执行,但您只有1个内核,因此您的系统超载。您要求太多了。
不过不要惊慌,它可能不是这样的问题:工作完成后,通常情况会恢复正常。
正常运行时间显示输出 /proc/loadavg
。
的手册页man 5 proc
说:
/proc/loadavg
The first three fields in this file are load average figures giving
the number of jobs in the run queue (state R) or waiting for disk
I/O (state D) averaged over 1, 5, and 15 minutes.
因此,即使您的CPU使用率为0%,也可以承受较高的负载。一个内核可以在多处理器系统上获得高达100%或1的负载。
另请参见I / O期间的CPU高负载
ps aux --sort -rss |head -15
这将对rss内存中最常用的15个进程进行排序
而且这将按CPU和内存对最常用的进程进行排序
ps aux --sort -pid |head -15
如果您有1个CPU负载,则警告大于1,请检查进程列表,查看其中谁使用了最多的CPU和RAM
当您看到最常用的进程时,请尝试查看打开哪些文件
lsof -p [PID_most_used]
如果您从顶部命令给出ouptut,那也很好
load
与有所不同load average
。正如@michas所说,负载是等待执行的进程数的指标,但平均负载是在给定的1、5和15分钟的时间段内计算出的平均系统负载。