首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >产生CPU利用率水平

产生CPU利用率水平
EN

Stack Overflow用户
提问于 2016-06-24 10:39:48
回答 1查看 48关注 0票数 0

首先,我想让大家知道,我最近已经问过这个问题了,但是它被认为是不明确的,参见Linux: CPU benchmark requiring longer time and different CPU utilization levels。这是用另一种方法提出这个问题的新尝试。

我需要什么:在我的研究中,我研究计算机的CPU利用率,并在一段时间内分析CPU的使用模式。例如,在0到10期间内的CPU使用模式具有以下形式:

代码语言:javascript
运行
复制
time, % CPU used 
0   , 21.1
1   , 17
2   , 18
3   , 41
4   , 42
5   , 60
6   , 62
7   , 62
8   , 61
9   , 50
10  , 49

我感兴趣的是为给定的CPU使用模式找到一个简单的表示。对于评估部分,我需要在我的笔记本上创建一些CPU使用模式,然后进行记录和分析。我需要在笔记本电脑上创建的这些CPU使用模式应该

  1. 超过5分钟的时间,最好是20分钟左右。
  2. CPU使用模式应该具有“某种动态行为”,或者换句话说,使用的% CPU不应该(几乎)随着时间的推移而不变,而应该随着时间的推移而变化。

我的问题:如何创建这样的使用模式?当然,我可以在我的笔记本上运行一个任意的程序,我将获得一个所需的CPU模式。但是,这个解决方案并不理想,因为如果需要的话,我的作品的读者无法重复这个实验,因为他无法访问我使用的程序。因此,在我的笔记本上使用一些东西而不是一个任意的程序(例如,在我上一篇文章中,我考虑的是开源CPU基准),这将是更有益的。有人能给我推荐点什么吗?

非常感谢!

EN

回答 1

Stack Overflow用户

发布于 2016-06-29 16:03:59

我建议用移动平均线。选择一个窗口大小,并使用它进行平均处理。您需要确定要识别的模式类型,因为窗口越宽,获得的平滑程度越高,所看到的“功能”就越少。CPU的活动非常活跃。例如,如果您试图识别缓存瓶颈,您将需要一个小窗口,可能在10到100 in范围内。如果您想要与更长期的功能相关联,比如能量或负载,那么您需要一个更大的窗口,可能是10秒到几分钟。

看起来您使用的是操作系统提供的CPU使用,而不是硬件寄存器。这意味着操作系统已经在做一些平滑工作。它还可能对某些性能值进行估计。如果您正在通过较小的窗口进行集成,请尝试查找有关这方面的文档。警告:这个级别的信息很难找到。你可能得做很多调查。根据您对内核代码的熟悉程度,查看代码可能更容易。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38011431

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档