CentOS下如何查看每个CPU的使用率

介绍

本篇内容介绍了“CentOS下如何查看每个CPU的使用率”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

<强> 1。Linux下,如何看每个CPU的使用率:

#高层- m

之后按下数字1。(或者最高之后按1也一样)则显示多个CPU的信息,和内存信息:

[root@testpc ~] #高层- m

——15:38:40 2天,,2,,2用户,,平均负载:0.00,0.00,0.00

任务:138,,,137跑步,睡觉,,,0了,,,0僵尸

Cpu0 :,0.0%的美国,,sy 0.0%,,0.0%的镍,100.0%的id,,0.0%,佤邦,嗨,0.0%,如果0.0%,,0.0%圣

Cpu1 :,0.0%的美国,,sy 0.0%,,0.0%的镍,100.0%的id,,0.0%,佤邦,嗨,0.0%,如果0.0%,,0.0%圣

Cpu2 :,0.0%的美国,,sy 0.0%,,0.0%的镍,100.0%的id,,0.0%,佤邦,嗨,0.0%,如果0.0%,,0.0%圣

Cpu3 :,0.0%的美国,,sy 0.0%,,0.0%的镍,100.0%的id,,0.0%,佤邦,嗨,0.0%,如果0.0%,,0.0%圣

Mem:,3725.047,,263.312米,3461.734米免费的,,,45.711交换缓冲区

: 8095.992,,,,0.000 k, 8095.992免费的,,,55.977 m缓存

PID USER ,,,,PR NI VIRT RES 月S % CPU % MEM ,,时间+,COMMAND ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,

,,,1 root ,,,,20,,0 19228 1512 1224 S 0.0,0.0,,0:00.61 init ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,

,,,2 root ,,,,20,,0,,,,0,,,0,,,0 S 0.0,0.0,,0:00.00 kthreadd ,

<强> 2。在Linux下,如何确认是多核或多CPU:

#猫/proc/cpuinfo

如果有多个类似以下的项目,则为多核或多CPU:

processor ,,,,,:0

processor ……,,,,,,:1 .

<强> 3。如何察看某个进程在哪个CPU上运行:

#高层1 - d

之后按下f <强> 强。进入顶级当前字段设置页面:

选中:<强> :P ,,,,,,,,=最后使用cpu (SMP)

则多了一项:p显示此进程使用哪个cpu。

山姆经过试验发现:同一个进程,在不同时刻,会使用不同cpu核心。这应该是Linux内核SMP处理的。

<强> 4。Linux内核配置使之支持多核心:

内核配置期间必须启用CONFIG_SMP选项,以使内核感知SMP。

处理器类型和features ——比;对称多处理支持

察看当前Linux内核是否支持(或者使用)SMP

<强> # uname -

<强> 5。2.6内核的SMP负载平衡:

在SMP系统中创建任务时,这些任务都被放到一个给定的CPU运行队列中,通常来说,我们无法知道一个任务何时是短期存在的,何时需要长期运行,因此,最初任务到CPU的分配可能并不理想。

为了在CPU之间维护任务负载的均衡,任务可以重新进行分发:将任务从负载重的CPU上移动到负载轻的CPU上.Linux 2.6版本的调度器使用负载均衡(负载平衡),提供了这种功能。<强>每隔200毫秒,处理器都会检查CPU的负载是否不均衡;如果不均衡,处理器就会在CPU之间进行一次任务均衡操作

这个过程的一点负面影响是新CPU的缓存对于迁移过来的任务来说是冷的(需要将数据读入缓存中)。

记住CPU缓存是一个本地(片上)内存,提供了比系统内存更快的访问能力。如果一个任务是在某个CPU上执行的,与这个任务有关的数据都会被放到这个CPU的本地缓存中,这就称为热的。如果对于某个任务来说,CPU的本地缓存中没有任何数据,那么这个缓存就称为冷的

不幸的是,保持CPU繁忙会出现CPU缓存对于迁移过来的任务为冷的情况。

<强> 6。应用程序如何利用多核心:

开发人员可将可并行的代码写入线程,而这些线程会被SMP操作系统安排并发运行。

另外,山姆设想,对于必须顺序执行的代码。可以将其分为多个节点,每个节点为一个线程。并在节点间放置通道。节点间形如流水线。这样也可以大大增强CPU利用率。

例如:

<强>游戏可以分为3个节点。

1。接受外部信息,声称数据(1 ms)

2。利用数据,物理运算女士(3)

3。将物理运算的结果展示出来。(2)女士

如果线性编程,整个流程需要6 ms。

但如果将每个节点作为一个线程。但线程间又同步执行。则整个流程只需要3女士。

CentOS下如何查看每个CPU的使用率