CentOS7で利用するCPUの上限を設定する
CentOS7に閉じた話ではないと思いますが、やろうと思ってできなかったのでメモしておきます。
kernelのコマンドラインオプションを追加することは変わってませんが、
「 maxcpus 」ではなく、「 nr_cpus 」で指定しないといけないみたいです。
(あとメモリを制限する場合は「 mem 」で制限できます。)
ちなみにCentOS6まではGrubだったので、/boot/grub/grub.conf を直接編集しましたが、
CentOS7からGrub2になり、/etc/default/grub を編集することになってます。
- 使用するコアを1つ、1GBメモリに制限する場合(nr_cpus=1 mem=1024mを追加)
# vi /etc/default/grub GRUB_TIMEOUT=5 GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)" GRUB_DEFAULT=saved GRUB_DISABLE_SUBMENU=true GRUB_TERMINAL_OUTPUT="console" GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=centos/root rd.lvm.lv=centos/swap biosdevname=0 net.ifnames=0 rhgb quiet nr_cpus=1 mem=1024m" GRUB_DISABLE_RECOVERY="true"
編集が終わったら、configの生成と再起動を忘れずに。
# grub2-mkconfig -o /boot/grub2/grub.cfg Generating grub configuration file ... Found linux image: /boot/vmlinuz-3.10.0-327.el7.x86_64 Found initrd image: /boot/initramfs-3.10.0-327.el7.x86_64.img Found linux image: /boot/vmlinuz-0-rescue-4c78f5b870a447168afc0e881745647a Found initrd image: /boot/initramfs-0-rescue-4c78f5b870a447168afc0e881745647a.img done # reboot
具体的なナレッジとしてはRedhatに以下の情報があります。
maxcpus kernel parameter is not working as expected as RHEL 7 system still has all CPUs enabled after boot is complete - Red Hat Customer Portal