gpt4 book ai didi

linux - 如何将某些内核线程绑定(bind)到给定的内核?

转载 作者:太空狗 更新时间:2023-10-29 12:03:31 25 4
gpt4 key购买 nike

出于性能原因,我想从给定的内核中分离出许多内核线程。其中一些我可以使用任务集移动,但有些我不能。

特别是我看到像 migration、watchdog、rcuc 等进程没有响应我重新绑定(bind)它们的尝试。

例如,如果我尝试重新绑定(bind)看门狗进程,我会得到以下信息:

# taskset -pc 0 207
pid 207's current affinity list: 0
sched_setaffinity: Invalid argument
failed to set pid 207's affinity.

出于性能原因,我怎样才能将它们从核心中移除,以便我可以正确地隔离它们?

我怀疑这些进程干扰了我的完整 dynticks 模式。

最佳答案

几个内核线程绑定(bind)到一个特定的内核,以实现 SMP 基础结构所需的功能,例如同步、中断处理等。例如,kworkermigrationksoftirqd 线程通常每个虚拟处理器有一个实例(例如 4 核 8-处理器上的 8 个线程)线程 CPU)。

您不能(也不应该能够)移动这些线程 - 没有它们,处理器将无法再被系统完全使用。

为什么正是你想要移动这些线程?

关于linux - 如何将某些内核线程绑定(bind)到给定的内核?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25450223/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com