gpt4 book ai didi

linux - 确保所有 Linux 系统线程都在核心 0 上运行

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:26:30 25 4
gpt4 key购买 nike

我想确保 Linux 中的所有系统线程都在核心 0 上运行,将所有其他核心留给我的应用程序。我使用的是 RHEL 6,我在/etc/rc.d/rc.sysinit 的顶部添加了以下行:

taskset -p 0x01 1
taskset -p 0x01 2
taskset -p 0x01 $$

我仍然看到许多 PPID 2 的线程/进程在 0 以外的内核上运行。这表明 kthreadd(PID 2 的进程)在执行上述语句之前生成其他线程/进程。如何确保进程 2 的所有子进程也运行核心 0?

编辑:例如,核心 4 上的线程。这些线程中的任何一个都可以从核心 4 移开吗?

~> ps -L -eo pid,ppid,tid,nlwp,tty,comm,psr | grep 4$
PID PPID TID NLWP TT COMMAND PSR <-line added
15 2 15 1 ? migration/4 4
16 2 16 1 ? ksoftirqd/4 4
17 2 17 1 ? watchdog/4 4
31 2 31 1 ? events/4 4
46 2 46 1 ? kintegrityd/4 4
54 2 54 1 ? kblockd/4 4
65 2 65 1 ? ata/4 4
88 2 88 1 ? aio/4 4
96 2 96 1 ? crypto/4 4
420 2 420 1 ? ext4-dio-unwrit 4
879 2 879 1 ? kdmflush 4
926 2 926 1 ? ext4-dio-unwrit 4
935 2 935 1 ? ext4-dio-unwrit 4
1632 2 1632 1 ? rpciod/4 4

最佳答案

某些内核线程绑定(bind)到它们的特殊(逻辑)CPU 以执行与该 CPU 相关的一些工作,您不能将这些内核线程从它们的 CPU 迁移。您可以做的是迁移和固定所有其他任务。

我想这个奇怪的要求不是您的最终目的,而这个(标题)也不是达到您目的的正确方法。如果您提供最终目的,SO 中的人员可以帮助您。

关于linux - 确保所有 Linux 系统线程都在核心 0 上运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11555998/

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