【问题标题】:how to print all the processes listed on one particular core of the Processor in Linux?如何打印Linux中处理器的一个特定核心上列出的所有进程?
【发布时间】:2011-09-06 09:52:05
【问题描述】:

我想编写一个小程序,它会询问我核心(或 CPU)编号,并列出该特定输入核心上当前正在执行的所有进程。

例如,

输出会是这样的,

输入 CPU(或核心)编号:1

过程 1, 过程2, 过程3, ......所以继续。

输入 CPU(或核心)编号:2 或任何有效的核心编号

过程 1, 过程2, 过程3, ......所以继续。

【问题讨论】:

  • 这有什么用?默认情况下,进程不绑定到任何特定的核心。
  • 为了评估电源管理中可能的增强功能,我需要了解内核的这一部分。首先,我认为这将是一个很好的练习。

标签: linux api process cpu core


【解决方案1】:

下面的文章讨论了linux中的CPU实用程序

http://www.cyberciti.biz/tips/how-do-i-find-out-linux-cpu-utilization.html

对于您的情况,我相信您可能会尝试类似的任务集

# taskset -p <PID>

这对于查找特定进程与 CPU 的亲和性可能很有用。

还有一篇关于 csets(特定应用程序/进程的 CPU 组)的文章,它比任务集更有条理 - https://rt.wiki.kernel.org/index.php/Cpuset_management_utility/tutorial

【讨论】:

    【解决方案2】:

    除非另有说明,否则内核会将每个进程/线程的时间片分派给当前可用的任何内核。

    即你能得到的任何结果都会立即过时。

    【讨论】:

    • 没错。但我想打印结果来评估内核处理进程的方式
    猜你喜欢
    • 2012-08-25
    • 1970-01-01
    • 2011-07-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-04
    • 2011-03-22
    • 2011-11-25
    相关资源
    最近更新 更多