在具有多个处理器的系统上禁用/启用处理器(动态)的过程是什么?如何将我的服务器限制为只有“N”个CPU?CentOS/RHEL中可以通过三种方式来限制CPU数量:使用maxcpus参数(RHEL/CentOS6)使用nr_cpus参数(RHEL/CentOS6,7)DisableCPUonline(RHEL/CentOS6,7)1.使用maxcpus参数该方法适用于RHEL/CentOS6系统。在RHEL/CentOS7系统上使用可能会失败。尽管在较新版本的RHEL7系统中,此错误已得到修复。您可以在/boot/grub/grub.conf中添加内核参数maxcpus=N或在引导时添加到内核行。例如,要将服务器限制为只有2个CPU,可以使用以下命令:#vi/boot/grub/grub.conf...titleRedHatEnterpriseLinuxServer(2.6.18-238.el5)root(hd0,0)kernel/vmlinuz-2.6.18-238.el5roroot=/dev/VolGroup00/LogVol00rhgbquietmaxcpus=3initrd/initrd-2.6.18-238.el5.img注意:无法在RedHatEnterpriseLinux上禁用系统中央处理器。使用maxcpus时,它将从所有可用的物理CPU中获取CPU。例如,在有两个双核CPU的系统上,maxcpus=2会从每个物理CPU中拿走一个CPU。要找出正在使用的物理CPUID,请使用以下查询:#cat/sys/devices/system/cpu/cpu*/topology/physical_package_id2。使用nr_cpus参数。对于CentOS/RHEL6,位于/boot/grub/grub。在启动时将内核参数nr_cpus=N添加到conf或内核行。例如,下面的条目将服务器限制为只有2个CPU。#vi/boot/grub/grub.conftitleRedHatEnterpriseLinuxServer(2.6.18-238.el5)root(hd0,0)kernel/vmlinuz-2.6.18-238.el5roroot=/dev/VolGroup00/LogVol00rhgbquietnr_cpus=2initrd/initrd-2.6.18-238.el5.imgForCentOS/RHEL7:(1)对于RHEL7系统,在"/etc/sysconfig/grub""GRUB_CMDLINE_LINUX"中添加nr_cpus=N参数线如下所示。#cat/etc/default/grubGRUB_TIMEOUT=1GRUB_DISTRIBUTOR="$(sed's,release.*$,,g'/etc/system-release)"GRUB_DEFAULT=savedGRUB_DISABLE_SUBMENU=trueGRUB_TERMINAL="串行控制台"GRUB_SERIAL_COMMAND="Serial--speed=115200"GRUB_CMDLINE_LINUX="console=ttyS0,115200console=tty0vconsole.font=latarcyrheb-sun16crashkernel=autonr_cpus=2"GRUB_DISABLE_RECOVERY="true"(2)使用grub2-mkconfig命令重新生成/启动/grub2/grub.cfg文件。#grub2-mkconfig-o/boot/grub2/grub.cfg生成grub配置文件...找到linux镜像:/boot/vmlinuz-3.10.0-693.21.1.el7.x86_64找到initrd镜像:/boot/initramfs-3.10.0-693.21.1.el7.x86_64.img找到linux镜像:/boot/vmlinuz-3.10.0-693.17.1.el7.x86_64找到initrd镜像:/boot/initramfs-3.10.0-693.17.1.el7.x86_64。img找到linux镜像:/boot/vmlinuz-3.10.0-693.11.6.el7.x86_64找到initrd镜像:/boot/initramfs-3.10.0-693.11.6.el7.x86_64.img找到linux镜像:/boot/vmlinuz-3.10.0-693.11.1.el7.x86_64找到initrd镜像:/boot/initramfs-3.10.0-693.11.1.el7.x86_64.img找到linux镜像:/boot/vmlinuz-3.10.0-693.5.2.el7.x86_64initrdimage:/boot/initramfs-3.10.0-693.5.2.el7.x86_64.imgFoundlinuximage:/boot/vmlinuz-0-rescue-f9afeb75a5a382dce8269887a67fbf58Foundinitrdimage:/boot/initramfs-0-rescue-f9afeb75a5a382dce8269887a67fbf58.imgdone(3)验证grub配置文件中nr_cpu参数的条目。#greplinux16/boot/grub2/grub.cfglinux16/boot/vmlinuz-3.10.0-693.21.1.el7.x86_64root=UUID=0f790447-ebef-4ca0-b229-d0aa1985d57fro控制台=ttyS0,115200控制台=tty0vconsole.font=latarcyrheb-sun16crashkernel=autonr_cpus=2...3。DisableCPUOnlinedisableCPUcore:(1)在运行时,可以使用以下命令来禁用cpucore。例如对于4核系统,我们可以禁用3个CPU,如下所示:#echo0>/sys/devices/system/cpu/cpu3/online#echo0>/sys/devices/system/cpu/cpu2/online#echo0>/sys/devices/system/cpu/cpu1/online(2)要验证您禁用了3个核心并且只启用了1个核心,请使用此命令:#grep"processor"/proc/cpuinfoprocessor:0重新启用CPU核心:(1)CPU核心可以通过以下命令重新激活:#echo1>/sys/devices/system/cpu/cpu3/online#echo1>/sys/devices/system/cpu/cpu2/online#echo1>/sys/devices/system/cpu/cpu1/online(2)再次验证/proc/cpuinfo中启用的4个内核。#grep"processor"/proc/cpuinfo处理器:0处理器:1处理器:2处理器:3
