我正在做一些与CPU性能相关的任务。在我开始的时候,我开始知道CPU负载很大程度上取决于处理器队列(等待队列)。
有没有办法确定处理器队列的最大长度?我想知道有多少进程可以在一个瞬间处于等待状态。
我在Unix环境下使用Intel i5处理器。
答案 0 :(得分:1)
nr_running()是返回所有在线CPU上当前可运行进程总和的函数。我不确定你的最大允许含义是什么意思?如果一个进程在CPU上运行,理论上所有其他进程都可以处于runnable
状态。这样就没有上限。 (虽然系统上的最大进程数有一个上限。在较旧的Linux内核中有512个。但在最新的内核中肯定要多得多)
如果您有兴趣了解CPU负载,我建议您通过this article并在内核中加载计算函数,例如calc_load()和其他sched.c
< / p>
可以通过命令检查处理器运行队列,如此处
How to find the processor queue length in linux
还要了解有关此处运行队列的更多信息
http://www.ibm.com/developerworks/linux/library/l-scheduler/
希望这能让您在CPU负载估算方面领先一步。