Linux   发布时间:2022-04-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了了解Linux最高CPU利用率输出大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

我正在使用在Debian下运行的单核小型ARM处理器,并且在理解top的CPU利用率输出时遇到问题,请参阅: top - 15:31:54 up 30 days, 23:00, 2 users, load average: 0.90, 0.89, 0.87 Tasks: 44 @R_712_10586@l, 1 running, 43 sleeping, 0 stopped, 0 zombie
我正在使用在Debian下运行的单核小型ARM处理器,并且在理解top的cpu利用率输出遇到问题,请参阅:
top - 15:31:54 up 30 days,23:00,2 users,load average: 0.90,0.89,0.87
Tasks:  44 @R_712_10586@l,1 running,43 sleeping,0 stopped,0 zombie
cpu(s): 65.0%us,20.3%sy,0.0%ni,14.5%id,0.0%wa,0.0%hi,0.3%si,0.0%st
Mem:     61540k @R_712_10586@l,40056k used,21484k free,0k buffers
Swap:        0k @R_712_10586@l,0k used,0k free,22260k cached

  PID USER      PR  NI  VIRT  RES  SHR S %cpu %MEM    TIME+  COMMAND                                                                                    
26028 root      20   0  2536 1124  912 R  1.9  1.8   0:00.30 top                                                                                        
31231 root      19  -1 45260  964  556 S  1.9  1.6   1206:15 owserver                                                                                   
    3 root      15  -5     0    0    0 S  0.3  0.0   0:08.68 ksoftirqd/0                                                                                
  694 root      20   0 28640  840  412 S  0.3  1.4 468:26.74 rsyslogd

列%cpu在所有进程中都非常低,在此示例中它们总共为4,4%(以下所有其他进程均为0%)
但是第3行的全面cpu显示65%我们和20%sy,所以对于非常高的价值 – 顺便说一下,这就是系统的感觉:非常慢:-(
系统几乎总是处于这种状态:所有进程的cpu都很低,但用户系统cpu却很高.
任何人都可以解释为什么顶级工具输出中存在如此高的不一致性?
我可以使用什么工具来更好地找出导致高用户系统cpu利用率的原因 – 这里顶部似乎没用.

更新:同时我找到了这个线程here,它讨论了一个类似的问题,但是我无法验证那里写的是什么:

>命令正常运行时间显示每1/5/15分钟的平均cpu利用率
>这接近于最高输出的第一行作为%us%sy的总和.但这种情况正在发生变化,可能是每10年的平均值?
>即使在最高输出上查看较长时间,%us%sy的总和也总是比所有%cpu的总和高几倍

谢谢
阿希姆

解决方法

您应该阅读top的联机帮助页以更精确地了解其输出.从联机帮助页:

任务在上次屏幕更新后经过的cpu间的份额,表示为总cpu间的百分比.认屏幕更新时间为3秒,可以使用#top -d ss.tt进行更改.要测量通信cpu使用率,请运行top -s.

从最后记住的’S’状态开始逆转.当“累积模式”为“开”时,每个进程都会列出它和它的死孩子使用的cpu时间.

cpu状态显示摘要区域中.它们始终显示为百分比,表示从现在到最后一次刷新之间的时间.

us  --  User cpu time
      The time the cpu has spent running users' processes that are not niced.

    sy  --  System cpu time
      The time the cpu has spent running the kernel and its processes.

    ni  --  Nice cpu time
      The time the cpu has spent running users' proccess that have been niced.

    wa  --  iowait
      amount of time the cpu has been waiTing for I/O to complete.

    hi  --  Hardware IRQ
      The amount of time the cpu has been servicing hardwarE interrupts.

    si  --  SoftwarE interrupts
      The amount of time the cpu has been servicing softwarE interrupts.

    st  --  Steal Time
      The amount of cpu 'stolen' from this virtual machine by the hypervisor for other tasks (such as running another virtual machinE).

在正常情况下,%us%sy应始终更高.

大佬总结

以上是大佬教程为你收集整理的了解Linux最高CPU利用率输出全部内容,希望文章能够帮你解决了解Linux最高CPU利用率输出所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。