'htop'不能显示正确的CPU%,但是'top'可以显示

彼得·奥

mencoder线程数= 4(在四核cpu上)上运行时。我注意到,htop它并没有显示其真正的CPU使用率top

似乎htop仅在一个内核上报告这是htop的错误/局限性吗?这里发生了什么?

有没有其他条目的mencoder中露面pshtoptop我认为100%意味着1核已用完,但是即使这样对我来说也很奇怪。其他核心呢?

更新:添加了“系统监视器”输出

                  PID   %CPU   COMMAND                    
           "top"  1869   220   mencoder                 
          "htop"  1869    95   mencoder -noodml /media/...  
"System Monitor"  1869   220   mencoder
斯蒂法诺·帕拉佐(Stefano Palazzo)

正如您自己说的那样,您可以点击H以显示用户线程。

只是以供将来参考(和乐趣),让我们计算的CPU利用率!

一点背景:

在现代操作系统中,有一个调度程序。它旨在确保所有进程及其线程获得公平的计算时间份额。我不会过多地安排时间(这确实很复杂)。但是最后有一个叫做运行队列的东西这是所有进程的所有指令在这里排队等待其执行的地方。

任何进程都会将其“任务”放在运行队列中,一旦处理器准备就绪,它将弹出并执行它们。例如,当程序进入睡眠状态时,它将自己从运行队列中删除,并在准备再次运行时返回到“行尾”。

在这个队列排序与流程做优先级(也称为‘nice值’ -即一个过程是很好的关于系统资源)。

队列的长度决定了系统负载例如,负载为2.5意味着CPU可以实时处理的每个指令有2.5条指令

顺便说一下,在Linux上,此负载的计算间隔为10ms(默认情况下)。

现在来看CPU使用率的百分比值:

假设您有两个时钟,一个被称为时钟,t它代表实时时钟它每秒测量一秒钟。我们打电话给另一个时钟c它仅在有处理要执行时运行。这意味着,只有当进程计算出某些内容时,时钟才会运行。这也称为CPU时间。系统上的每个进程都“拥有”其中一个。

现在可以为单个进程计算处理器利用率:

U = c / t = 0.5s / 1s = 0.5

或对于所有过程:

替代文字

在多核计算机上,这当然可以得到3.9的值,因为如果使用得当,CPU每秒可以计算出四秒钟的计算时间。

维基百科提供了以下示例:

在6-CPU UNIX计算机上运行的软件应用程序会创建三个UNIX进程来满足用户需求。这三个进程中的每一个都会创建两个线程。软件应用程序的工作均匀地分布在为该应用程序创建的6个独立的执行线程上。如果不涉及等待资源,则预计总CPU时间将是实际经过时间的六倍。

这是一个执行此操作的小python代码段

>>> import time
>>> t = time.time()
>>> c = time.clock()
>>> # the next line will take a while to compute
>>> tuple(tuple(i**0.2 for i in range(600)) for i in range(6000))
>>> print (time.clock() / (time.time() - t)) * 100, "%"
66.9384021612 %

在理想情况下,您可以由此推断系统负载为100-66.93 = 33,1%。(但实际上,由于诸如I / O等待,调度效率低下之类的复杂事情,这是错误的)

负载相反,这些计算将始终得出0到处理器数量之间的值,即0到1或0到100%之间的值。现在,无法区分运行100%cpu的三个任务的计算机和运行一百万个任务的计算机,它们在其中任何一个任务上几乎都无法完成任何工作,而且100%都无法完成。例如,如果您试图平衡多台计算机上的一堆进程,那么CPU利用率几乎是无用的。负载就是您想要的。

现在实际上,有多个处理时钟。例如,有一个等待I / O。因此,您还可以计算I / O资源利用率。

对于原始问题,这可能没有帮助,但我希望它很有趣。:)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

htop,并排显示cpu

来自分类Dev

为什么htop不显示与top相同的过程?

来自分类Dev

htop显示黑屏

来自分类Dev

仅显示htop摘要

来自分类Dev

htop 可以显示超过 4 个字符的 CPU% 数据吗?

来自分类Dev

Linux Webserver - htop 显示 CPU 使用率极高?

来自分类Dev

为什么“ htop”比“ ps”显示更多的进程

来自分类Dev

htop在多行中显示相同的程序

来自分类Dev

哪些工具可以将Internet TX / RX状态检查为top / htop?

来自分类Dev

htop报告100%cpu窃取时间,virsh还原后top报告0%

来自分类Dev

Python线程名称未显示在ps或htop上

来自分类Dev

htop显示即使调用了deallocate仍在使用内存

来自分类Dev

为什么当表为0.0%时,htop计显示> 90%?

来自分类Dev

htop仅显示正在运行的用户的进程?

来自分类Dev

htop-更改内存使用量显示的单位

来自分类Dev

`ps`显示的ram使用率比`htop`高得多

来自分类Dev

Htop在新安装的17.10上显示线程1上100%的CPU使用率

来自分类Dev

htop CPU%约为100%,但条形图显示每个内核都低得多

来自分类Dev

htop 和系统监视器显示 0 cpu ubuntu 20.04 ryzen 3950x

来自分类Dev

cpu的使用率是100%,但是top不会显示任何使用它的进程

来自分类Dev

RAM大小不匹配:top / htop与dmidecode

来自分类Dev

Powershell变量可以正确显示,但是不能在数学运算中使用?

来自分类Dev

htop显示的常驻内存使用量比计算机所拥有的更多

来自分类Dev

为什么HTOP在正常运行时间旁边显示感叹号

来自分类Dev

使用pthread_setschedparam显示htop中线程的负优先级

来自分类Dev

程序pstree和htop显示具有唯一PIDS的线程。这怎么可能?

来自分类Dev

如何在htop上仅显示一个进程及其后代进程?

来自分类Dev

htop报告的内存使用量比free或top高得多

来自分类Dev

htop报告的内存使用量比free或top高得多

Related 相关文章

  1. 1

    htop,并排显示cpu

  2. 2

    为什么htop不显示与top相同的过程?

  3. 3

    htop显示黑屏

  4. 4

    仅显示htop摘要

  5. 5

    htop 可以显示超过 4 个字符的 CPU% 数据吗?

  6. 6

    Linux Webserver - htop 显示 CPU 使用率极高?

  7. 7

    为什么“ htop”比“ ps”显示更多的进程

  8. 8

    htop在多行中显示相同的程序

  9. 9

    哪些工具可以将Internet TX / RX状态检查为top / htop?

  10. 10

    htop报告100%cpu窃取时间,virsh还原后top报告0%

  11. 11

    Python线程名称未显示在ps或htop上

  12. 12

    htop显示即使调用了deallocate仍在使用内存

  13. 13

    为什么当表为0.0%时,htop计显示> 90%?

  14. 14

    htop仅显示正在运行的用户的进程?

  15. 15

    htop-更改内存使用量显示的单位

  16. 16

    `ps`显示的ram使用率比`htop`高得多

  17. 17

    Htop在新安装的17.10上显示线程1上100%的CPU使用率

  18. 18

    htop CPU%约为100%,但条形图显示每个内核都低得多

  19. 19

    htop 和系统监视器显示 0 cpu ubuntu 20.04 ryzen 3950x

  20. 20

    cpu的使用率是100%,但是top不会显示任何使用它的进程

  21. 21

    RAM大小不匹配:top / htop与dmidecode

  22. 22

    Powershell变量可以正确显示,但是不能在数学运算中使用?

  23. 23

    htop显示的常驻内存使用量比计算机所拥有的更多

  24. 24

    为什么HTOP在正常运行时间旁边显示感叹号

  25. 25

    使用pthread_setschedparam显示htop中线程的负优先级

  26. 26

    程序pstree和htop显示具有唯一PIDS的线程。这怎么可能?

  27. 27

    如何在htop上仅显示一个进程及其后代进程?

  28. 28

    htop报告的内存使用量比free或top高得多

  29. 29

    htop报告的内存使用量比free或top高得多

热门标签

归档