众所周知,单处理器上的负载为1.00意味着有100%的负载。类似地,四核上的4.00负载将是100%。
如何解释4核心8线程处理器上的负载?什么时候才能达到CPU的最大容量?4点还是8点?
发布于 2014-08-05 15:20:45
不一定,但主要是在1.00*n_cpu上。
加载意味着:如果一个单cpu系统上有多个进程,它们似乎是并行运行的。但这不是真的。实际情况:内核给进程以1/100秒的时间,然后中断它的运行。并给出另一个进程的下一个1/100秒。
实际上,“哪个进程应该有下一个1/100秒的间隔?”这个问题将由一个复杂的启发式方法来决定。它被命名为任务调度。
当然,被阻塞的进程(例如,它们正在等待从磁盘中读取的数据)不受此任务调度的限制。
load说:目前有多少进程在等待下一个1/100秒的时间帧。当然,这是一个平均值。这是因为您可以在一个cat /proc/loadavg中看到多个数字。
多cpu系统的情况要复杂一些.有多个cpus,其时间框架可以给出多个进程。这使得任务调度稍微有点复杂,但不太复杂。但情况是一样的。
内核是智能的,它试图共享系统资源以获得最佳的效率,而它就在这一点附近(有一些小的优化问题,例如,由于缓存考虑,如果进程在同一个cpu上运行的时间最长,则会更好,但它们并不重要)。这是因为如果我们有load 8,这意味着:实际上有8个进程在等待它们的下一个时间切片。如果我们有8个cpus,我们可以将这些时间片一对一地分配给cpus,这样我们的系统就会得到最优的使用。
如果您看到一个top,您可以看到实际运行的进程数量非常少:它们是由R标记的进程。即使在一个并不是真正的硬核系统中,它也常常低于5。这部分是因为等待来自磁盘或网络的数据的进程也被挂起(顶部标记为S )。加载只显示cpu的使用情况。
还有一些测量磁盘负载的工具,imho至少应该和cpu使用情况监控一样重要,但在我们专业的sysadmin世界中,它不知何故并不那么出名。
Windows工具通常将负载与cpus的实际数量分开。这导致一些专业的windows系统管理员在这种按cpu划分的意义上使用系统负载.当你向他们解释这件事后,他们可能会更快乐。
多核CPU实际上是同一个硅片上的多个CPU。没有什么不同。
对于超线程cpu,有一个有趣的副作用:加载cpu会使其超线程对变慢。但是这发生在一个更深的层次上,正常的任务调度处理,虽然它可以(并且应该)影响调度程序的进程移动决策。
但从我们目前的观点来看--是什么决定了系统的负载--这也不重要。
发布于 2014-08-05 15:51:55
由于超线程实际上不是第二个核心,所以它永远不会将内核取到200%,但是对于某些工作负载,它将花费超过100%的时间。
所以您的最大负载在大约4到6之间是未知的。
(当然,当重载时,这个值会更高,因为它实际上计算了可运行的进程,特别是当它们在等待IO时)
发布于 2014-08-06 14:27:19
平均负荷并不意味着你认为它意味着什么。这不是关于即时CPU的使用,而是有多少进程在等待运行。通常情况下,这是因为有很多东西需要CPU,但并不总是如此。常见的罪魁祸首是等待IO磁盘或网络的进程。
尝试运行ps -e v并查找进程状态标志。
state The state is given by a sequence of characters, for example, "RWNA". The first character indicates the run state of the process:
D Marks a process in disk (or other short term, uninterruptible) wait.
I Marks a process that is idle (sleeping for longer than about 20 seconds).
L Marks a process that is waiting to acquire a lock.
R Marks a runnable process.
S Marks a process that is sleeping for less than about 20 seconds.
T Marks a stopped process.
W Marks an idle interrupt thread.
Z Marks a dead process (a "zombie").这是来自ps手册,所以您可以在这里找到更多的细节-- R和D流程可能特别有趣。
由于各种各样的原因,你最终会得到平均负载的“尖峰”,所以除了“这个系统是否繁忙”之外,它们并不是一个很好的衡量标准。在将平均负载映射到CPU内核的过程中陷入困境不会对您有任何好处。
https://serverfault.com/questions/618130
复制相似问题