本港台开奖现场直播 j2开奖直播报码现场
当前位置: 新闻频道 > IT新闻 >

报码:【j2开奖】CPU使用率度量指标是扯淡!

时间:2017-05-22 05:38来源:本港台直播 作者:www.wzatv.cc 点击:
我们用来衡量CPU使用率(CPU utilization)的指标具有极大的误导性,而且一年比一年来得误人子弟。CPU使用率到底是什么?你的处理器有多忙碌?不,那不是CPU使用率衡量的方面。没错

  我们用来衡量CPU使用率(CPU utilization)的指标具有极大的误导性,而且一年比一年来得误人子弟。CPU使用率到底是什么?你的处理器有多忙碌?不,那不是CPU使用率衡量的方面。没错,我在这里所说的是每个人在到处使用的“%CPU”这个度量指标,用于每一款性能监控产品中。用top(1)命令来查看。

  你可能认为90%的CPU使用率意味着:

  

  而实际上它可能意味着:

  

  停滞(stalled)意味着处理器在处理指令方面没有进展,通常是由于处理器在等待内存输入/输出。我在上面划分的比例(忙碌和停滞之间)是我在实际的生产环境中经常看到的情形。你很可能基本上处于停滞状态,但浑然不知罢了。

  这对你来说意味着什么呢?了解你的多少CPU处于停滞状态可以指导减少代或减少内存输入/输出之间的性能调优工作。谁要是在关注CPU性能,尤其是在根据CPU自动扩展资源的云,如果知道%CPU中停滞的部分,那将大有益处。

  CPU使用率其实是什么东东?

  我们称为CPU使用率的衡量指标其实是“非闲置时间”(non-idle time):也就是CPU未运行闲置线程的时间。你的操作系统内核(无论它是什么内核)通常在上下文切换过程中跟踪这个指标。如果非闲置进程开始运行,然后停止100毫秒,直播,内核还是认为该CPU在那整段时间都被使用。

  这个度量指标的历史与分时系统一样久远。Apollo Lunar Module制导计算机(一种开创性的分时系统)称其闲置线程为“DUMMY JOB”,工程师们跟踪了运行该闲置线程的周期和运行实际任务的周期,将这视作是一个衡量计算机使用率的重要指标。

  那么这个指标哪里不对劲呢?

  现如今,CPU的速度已变得比主内存快得多,等待内存在仍然所谓的“CPU使用率”中占了大头。如果你看到数值很高的%CPU,可能认为处理器是瓶颈(即散热片和风扇下面的CPU封装件),而实际上那些DRAM模组才是瓶颈。

  这方面的情形一直变得越来越严峻。长期以来,处理器厂商提高时钟速度的幅度超过DRAM提高访问延迟的幅度,这就是所谓的“CPU DRAM缺口”( CPU DRAM gap)。这种情形在3 GHz处理器面世的2005年前后趋稳;自那以后,处理器使用更多的核心和超线程来提升性能,另外使用多插座配置,这一切给内存子系统提出了更高的要求。处理器厂商试图采用更庞大、更智能的CPU缓存以及更快速的内存总线和互连技术来缓解这个内存瓶颈。但是我们仍然通常处于停滞状态。

  如何表明CPU到底在处理什么?

  不妨使用性能监控计数器(PMC):这是使用Linux perf()及其他工具可以读取的硬件计数器。比如说,将整个系统测量10秒钟:

  # perf stat -a -- sleep 10

  Performance counter stats for 'system wide':

  641398.723351 task-clock (msec) # 64.116 CPUs utilized (100.00%)

  379,651 context-switches # 0.592 K/sec (100.00%)

  51,546 cpu-migrations # 0.080 K/sec (100.00%)

  13,423,039 page-faults # 0.021 M/sec

  1,433,972,173,374 cycles # 2.236 GHz (75.02%)

  <not supported> stalled-cycles-frontend

  <not supported> stalled-cycles-backend

  1,118,336,816,068 instructions # 0.78 insns per cycle (75.01%)

  249,644,142,804 branches # 389.218 M/sec (75.01%)

  7,791,449,769 branch-misses # 3.12% of all branches (75.01%)

  10.003794539 seconds time elapsed

  这里一个关键的度量指标是每个周期指令(即IPC),该度量指标显示了我们在每个CPU时钟周期平均完成了多少个指令。简单来说,这个值越高越好。上面例子中的0.78听起来不赖(78%的时间段处于忙碌状态);但如果你意识到该处理器的最高速度下IPC是4.0,就不这么认为了。这又叫4-wide,是指指令取出/解路径。这意味着,开奖,CPU每个时钟周期可以retire(完成)四个指令。所以,在4-wide系统上IPC为0.78,意味着CPU的运行速度是其最高速度的19.5%。新的英特尔Skylake处理器是5-wide。

  你可以用来进一步钻研的PMC要多数百个:可以按不同的类型,直接测量停滞的周期。

  在云端

(责任编辑:本港台直播)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
栏目列表
推荐内容