微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用 taskset 命令的正确方法

如何解决使用 taskset 命令的正确方法

我正在使用此命令获取可用的 cpu

cat /proc/cpuinfo | grep processor |wc -l

它说,我有 4 个可用内核(实际上是 2 个物理内核和其他逻辑内核)

然后我从命令行运行我的任务 python3 mytask.py。运行我的程序后,我想更改其固定核心,仅在 core0 或 core3 或仅在 core0 和 core2 中

我知道我可以用 os.sched_setaffinity() 函数来做到这一点,但我想用 taskset 命令来做到这一点

我正在尝试这个;

taskset -pc 2 <pid> 我可以运行这个命令只检查我的可用 cpu 数量吗?

或者我是否必须在运行 taskset 命令之前检查我的任务的合格内核?

如果新的关联列表介于 0 和 4 之间,Linux 内核会保证我接受它吗?

例如,我有 4 个 cpu 可用,当我想将 kworker 线程亲缘关系 core0 更改为 core1 时,它失败了。然后我用这个命令检查了 kworker 线程允许的 cpu

cat /proc/6/status |grep "cpus_allowed_list:"

显示当前关联列表:0

当我想运行 taskset 命令来更改关联列表时,是否需要检查“cpus_allowed_list”?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。