单核双核四核的区别 单核处理器是什么意思( 三 )


多处理器和多核系统

在具有多个处理器或核心(多个逻辑CPU)的系统中,CPU负载值的含义取决于系统中存在的处理器数量 。因此,具有4个处理器的计算机在达到4.00的负载之前将不会以100%使用,因此在解释由top,htop或正常运行时间等命令提供的3个负载值时,你必须要做的第一件事 就是将它们分开 。系统中存在的逻辑CPU数量,并从中得出结论 。
举个例子,如果你的计算机装了 2 个 CPU,会发生什么情况呢? 2 个 CPU,意味着计算机的处理能力翻了一倍,能够同时处理的进程数量也翻了一倍 。还是用大桥来类比,两个 CPU 就意味着大桥有两根车道了,通车能力翻倍了
所以,2 个CPU表明系统负载可以达到 2.0,此时每个 CPU 都达到 100%的工作量 。推广开来,n 个 CPU 的计算机,可接受的系统负载最大为n.0 。
芯片厂商往往在一个 CPU 内部,包含多个CPU核心,这被称为多核CPU 。
在系统负载方面,多核 CPU 与多 CPU 效果类似,所以考虑系统负载的时候,必须考虑这台计算机有几个 CPU、每个 CPU 有几个核心 。然后,把系统负荷除以总的核心数,只要每个核心的负荷不超过 1.0,就表明计算机正常运行 。怎么知道电脑有多少个 CPU 核心呢?
延伸阅读: 性能基础之CPU、物理核、逻辑核概念与关系
CPU使用率
如果我们观察在给定时间间隔内通过CPU的不同进程,则利用率百分比将表示相对于CPU执行与每个进程相对应的指令的那个时间间隔的时间部分 。但这种计算只运行的进程,而不是那些正在等待,无论它们是在队列(可运行状态)还是睡着但不可中断(例如在等待输入/输出操作的结束)被认为 。因此,这个指标可以让我们了解哪些进程最大程度地挤压CPU,但是如果系统状态过载或者未充分利用,则不能给出真实的系统状态图 。
现实工作中,我们经常容易把平均负载和 CPU 使用率混淆,从上面我们知道平均负载是指单位时间内,处于可运行状态和不可中断状态的进程数 。所以,它不仅包括正在使用 CPU 的进程,还包括等待 CPU 和等待I/O 的进程 。而 CPU使用率,从上面的解释我们知道是单位时间内繁忙程度,跟平均负载并不一定完全对应 。比如:
CPU 密集型进程,使用大量 CPU 会导致平均负载升高,这时候两者是一致的 。I/O 密集型进程,等待 I/O 也会导致平均负载升高,但 CPU 使用率不一定很高 。大量等待 CPU 的进程调度也会导致平均负载很高,此时的 CPU 使用率也会比较高 。注意输入/输出(I/O)操作 在本文反复强调了不间断休眠状态非常重要 (第一张图中的D),因为有时你可以在计算机中找到非常高的负载值,然而不同的运行过程使用率相对较低 。如果你不考虑这种状态,你会发现情况莫名其妙,你将不知道如何处理它 。当进程等待某个资源的释放并且其执行不能被中断时,例如当它等待不可中断的 I/O 操作时,进程处于此状态完成(并非所有都是不可中断的) 。通常,这种情况是由于磁盘故障,网络文件系统(如 NFS 故障)或大量使用非常慢的设备(例如USB 1.0 pendrive)而发生的 。

推荐阅读