<!DOCTYPE html>

ps 和 top cpu 占用区别

ps 和 top cpu 占用区别
Wednesday, December 9, 2015
9:43 AM

ps 和 top cpu 占用区别



2012-10-10 17:52 1682人阅读 评论(0) 收藏 举报


 分类:

linux_常用命令(11) 

ps和topcpu 占用区别:
但试了一会发现个不小的问题,把包含flash的网页关掉后,ps显示它的cpu占用率还是居高不下。奇怪了,难道它还在后台工作吗?我又用top看了下,更奇怪了,top显示flash占用的cpu分明是0。又等了一会,ps显示的还是好几十。
以前好像也发现过这样的问题,但以为是误差等问题也没细想,但今天看这显然和误差什么的没关系。
上网找了找,终于明白了。
看看man ps里的相关内容:

       CPU usage is currently expressed as the percentage of time spent
       running during the entire lifetime of a process. This is not ideal,
       and it does not conform to the standards that ps otherwise conforms to.
       CPU usage is unlikely to add up to exactly 100%.
再看看top的:

       k: %CPU  --  CPU usage
          The task's share of the elapsed CPU time since the last  screen
          update, expressed as a percentage of total CPU time.  In a true
          SMP environment, if 'Irix mode' is Off,  top  will  operate  in
          'Solaris  mode' where a task's cpu usage will be divided by the
          total number of CPUs.  You toggle 'Irix/Solaris' modes with the
          'I' interactive command.
就不难理解了。ps是从进程开始就开始算的,是平均的占用率;而top是从上次刷新开始算的,一般几秒钟一刷,可以认为是即时的。而桌面系统我们一般更关注即时的,所以top的cpu占用率才是我需要的。而且top默认cpu的占用率的和并不是100%,而是核数x100%,所以有时会有一个进程占用超过100%的情况。
 
已使用 Microsoft OneNote 2016 创建。