2013-04-13 147 views
2

我正在浏览GNU/Linux程序的源代码top。我想了解它是如何计算每个进程的CPU使用率的,但我没有太多的运气。“top”如何计算CPU使用率?

有问题的源代码在GitHub

+0

我们不是来“指针”或“提示”。这是问答,而不是聊天或论坛。请问一个具体的,题目上的问题。 –

+0

也许你应该在论坛上询问你有兴趣的Linux发行版或类似的东西。 – Dzyann

回答

0

就像一切都在procps的工具包,该数据来自/proc虚拟文件系统,操作系统和Linux内核管理的人。根本没有“计算”。

+0

我相信它会计算不同CPU使用率的百分比(通过计算从前一个'/ proc'数据得出的增量,以及每个字段有多少变化),但我同意所有的CPU和哪个进程都做了什么都在OS中处理。 –

+0

@Josten:然后“通知”,而不是粗鲁。事实上,让我们决定不使用像“通知”这样的傲慢的术语,我们呢?我不同意答案是不正确的。我们只是以不同的方式解释这个问题。我相信OP指的是你的抽象层次较低,他想知道'top'如何通过获取其他数据并应用计算来获取每个进程的CPU使用率数据。答案是......它没有。操作系统告诉它CPU使用率。是的,'top'对这些值进行一些后处理,以不同的方式呈现它们,但它们是相同的数据。 –