栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何查看线程在哪个CPU内核中运行?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何查看线程在哪个CPU内核中运行?

截至2014年,以下答案不再准确

任务不会睡在任何特定的内核中。而且调度程序不会提前知道它将在哪个内核上运行线程,因为这将取决于这些内核的未来使用情况。

要获取所需的信息,请查看/ proc / / task / / status。如果线程正在运行,则第三个字段将为“
R”。从最后一个字段开始的第六个将是线程当前正在运行的核心,或者如果线程当前未在运行,则它将最后运行(或已迁移到)该核心。

31466(bc) S 31348 31466 31348 34819 31466 4202496 2557 0 0 0 5006 16 0 0
20 0 1 0 10196934 121827328 1091 18446744073709551615 4194304 4271839
140737264235072 140737264232056 217976807456 0 0 0 137912326
18446744071581662243 0 0 17 3 0 0 0 0 0 0

当前未运行。最后一次运行在核心3上。

31466(bc) R 31348 31466 31348 34819 31466 4202496 2557 0 0 0 3818 12 0 0
20 0 1 0 10196934 121827328 1091 18446744073709551615 4194304 4271839
140737264235072 140737264231824 4235516 0 0 0 2 0 0 0 17 2 0 0 0 0

当前在核心2上运行。

要了解其余字段的含义,请查看Linux内核源代码-
尤其是或中的

do_task_stat
函数。
fs/proc/array.c
documentation/filesystems/stat.txt

请注意,所有这些信息在您获得时可能已过时。在您

open
在proc中对该文件进行调用与该调用返回之间的某个时间点是正确的。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/368412.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号