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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何获取当前任务的CPU编号(在内核中)?相关的知识,希望对你有一定的参考价值。

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

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

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

答案

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

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

另一答案

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

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

有关更多详细信息:http://man7.org/linux/man-pages/man5/proc.5.html

以上是关于如何获取当前任务的CPU编号(在内核中)?的主要内容,如果未能解决你的问题,请参考以下文章

当前一个片段中的某些任务完成时如何通知另一个片段中的适配器

任务管理器中CPU使用和CPU内核使用有啥区别

linux 下如何定位代码问题

Linux 下如何定位代码问题

什么是在 C++ 中获取总内核数量的跨平台代码片段? [复制]

windows任务管理器中查看选项中的“显示内核时间”是啥意思?啥是“内核时间”?