微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

linux – CPU时间和CPU使用情况如何相同?

CPU time的维基百科页面中,它说

The cpu time is measured in clock ticks or seconds. Often,it is
useful to measure cpu time as a percentage of the cpu’s capacity,
which is called the cpu usage.

我不明白如何用百分比取代持续时间.当我查看顶部时,%cpu是否告诉我MATLAB正在使用2.17的内核?

PID USER      PR  NI    VIRT    RES    SHR S  %cpu %MEM     TIME+ COMMAND
18118 jasl      20   0 9248400 261528  78676 S 217.2  0.1   8:14.75 MATLAB

为了更好地了解cpu使用率,我如何自己计算cpu使用率?

解决方法

cpu时间以离散时间片(滴答)分配.对于一定数量的时间片,cpu是忙的,有时则不是(由空闲进程表示).在下图中,cpu忙于10个cpu片中的6个. 6/10 = .60 =繁忙时间的60%(因此将有40%的空闲时间).

百分比定义为“一个数字或速率,表示为某个部分,分为100个部分”.因此,在这种情况下,这些部分是离散的时间片,而某些部分是繁忙的时间片与空闲时间片 – 忙时空闲时间片的速率.

由于cpu以GHz(每秒十亿分之一秒)运行.操作系统将该时间切换为称为刻度的较小单位.它们实际上不是1/10秒. Windows中的滴答速率为10 million ticks in a second,而在Linux中则为sysconf(_SC_CLK_TCK)(通常为每秒100滴).

在像top这样的东西中,繁忙的cpu周期然后被进一步细分为用户时间和系统时间等百分比.在Windows上的Linux和perfmon中,你经常会得到超过100%的显示,这是因为总数是100%* the_number_of_cpu_cores.

在操作系统中,调度程序的工作是将这些宝贵的切片分配给进程,因此调度程序会报告此情况.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐