27.2. 使用 TuneD 的 isolated_cores 选项隔离 CPU
隔离 CPU 的初始机制是在内核引导命令行中指定引导参数 isolcpus=cpulist
。对于 RHEL for Real Time,推荐的方法是使用 TuneD
守护进程及其 tuned-profiles-realtime
软件包。
先决条件
-
已安装
TuneD
和tuned-profiles-realtime
软件包。
流程
-
作为 root 用户,在文本编辑器中打开
/etc/tuned/realtime-variables.conf
。 设置
isolated_cores=cpulist
以指定您要隔离的 CPU。您可以使用 CPU 编号和范围。示例:
isolated_cores=0-3,5,7
这会隔离核心 0、1、2、3、5 和 7。
在带有 8 个内核的两个套接字系统中,其中 NUMA 节点 0-3,NUMA 节点 1 具有内核 4-8,用于为多线程应用程序分配两个内核,请指定:
isolated_cores=4,5
这可防止将任何用户空间线程分配给 CPU 4 和 5。
要为不相关的应用程序选择来自不同 NUMA 节点的 CPU,请指定:
isolated_cores=0,4
这可防止将任何用户空间线程分配给 CPU 0 和 4。
使用
tuned-adm
程序激活 realtimeTuneD
配置集。# tuned-adm profile realtime
- 重启机器。
验证
在内核命令行中搜索
isolcpus
参数:$ cat /proc/cmdline | grep isolcpus BOOT_IMAGE=/vmlinuz-4.18.0-305.rt7.72.el8.x86_64 root=/dev/mapper/rhel_foo-root ro crashkernel=auto rd.lvm.lv=rhel_foo/root rd.lvm.lv=rhel_foo/swap console=ttyS0,115200n81 isolcpus=0,4