| 在具有多处理器的系统上禁用/启用处理器(动态)的过程是什么?如何将服务器限制为仅“N”个 CPU?在 CentOS /RHEL 中有三种方法可以限制 CPU 的数量。 |
在具有多处理器的系统上禁用/启用处理器(动态)的过程是什么?如何将服务器限制为仅“N”个 CPU?
在 CentOS/RHEL 中有三种方法可以限制 CPU 的数量:
使用 maxcpus 参数(RHEL/CentOS 6)
使用 nr_cpus 参数 (RHEL/CentOS 6,7)
在线禁用 CPU (RHEL/CentOS 6,7)
1. 使用maxcpus参数
此方法适用于 RHEL/CentOS 6 系统。如果在 RHEL/CentOS 7 系统中使用它可能会失败。尽管在较新版本的 RHEL 7 系统中,此错误已得到修复。
您可以在/boot/grub/grub.conf中添加内核参数maxcpus=N或在引导时添加到内核行。例如,要限制服务器仅使用 2 个 CPU,你可以使用以下方法:
注意:不能在 Red Hat Enterprise Linux 系统上禁用 CPU。
当使用 maxcpus 时,它将从所有可用的物理 CPU 中获取 CPU。例如,在具有两个双核 CPU 的系统上,maxcpus=2 将从每个物理 CPU 中获取一个 CPU。要了解正在使用的物理 CPU ID,可以使用下面的查询:
使用nr_cpus参数
对于 CentOS/RHEL 6,在/boot/grub/grub.conf或引导时的内核行中添加内核参数nr_cpus=N 。例如,下面的条目会将服务器限制为只有 2 个 CPU。
对于 CentOS/RHEL 7:
(1) 对于 RHEL 7 系统,将nr_cpus=N参数添加到“ /etc/sysconfig/grub ”中的“
GRUB_CMDLINE_LINUX ”行,如下所示。
(2) 使用grub2-mkconfig 命令 重新生成/boot/grub2/grub.cfg文件。
(3) 验证grub配置文件中nr_cpu参数的入口。
禁用CPU在线
禁用 CPU 内核:
(1) 在运行时,可以使用以下 命令 禁用 cpu 内核。例如对于 4 核系统,我们可以禁用 3 个 CPU
如下所示:
(2) 要验证您是否禁用了 3 个核心并且只启用了 1 个核心,请使用以下命令:
重新启用 CPU 内核:
(1) 可以通过以下命令重新激活 CPU 内核:
(2) 再次验证 /proc/cpuinfo 中的 4 个启用核心的核心。
如何在 CentOS / RHEL 中启用/禁用 CPU(限制 CPU 数量) | 《Linux就该这么学》 (linuxprobe.com)
将用户 lmeng 的python程序,限制运行在0-4号CPU核上:
或使用cpulimit,参考教程: CPULimit 限制 Linux 程式 CPU 使用率教学 - G. T. Wang (gtwang.org)
例如,将PID限制使用率为1000%(每个核提供100%): cpulimit -p PID -l 1000
或利用循环,限制多个进程:
如果想取消cpulimit的话:
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)