如何获取当前任务的CPU编号(在内核中)?

时间:2017-12-24 09:52:34

标签: linux kernel

有没有办法获得当前任务的CPU数量? (我需要的不是运行任务的CPU数量,而是运行任务的CPU)

此过程必须在内核级别,因此命令行之类的东西无济于事。

我试图通过调用内核函数或使用内核数据结构(如task_struct)来做到这一点,但我遇到了麻烦。

2 个答案:

答案 0 :(得分:0)

sched_getcpu()“确定调用线程正在运行的CPU”函数似乎仅用于提供此功能。

http://man7.org/linux/man-pages/man3/sched_getcpu.3.html

答案 1 :(得分:-1)

进程的CPU详细信息位于/proc/[pid]/stat 第39个字段给出了执行它的最后一个CPU号。

  

(39)处理器%d(自Linux 2.2.8起)                           上次执行的CPU编号。

有关详情:http://man7.org/linux/man-pages/man5/proc.5.html