Linux Limiting or restricting SMP CPU activation in SMP mode

Posted on in Categories Hardware, Linux, Troubleshooting last updated November 6, 2007

Q. I would like to restrict number of CPU activated for some software licensing issues under Linux kernel 2.6.xx.. How can I limit the number of CPUs activated in SMP mode?

A. Pass a special parameter called maxcpus to kernel. It specify maximum number of processors that an SMP Linux kernel should make use of. For example if you have four cpus and would like to use 2 CPU then pass 2 as a number to maxcpus.

This is useful to test different software performances and configurations. Some commercial software such as ERP software or Oracle are licenced per CPU. In such a case maxcpus is a life saver.

Edit your grub.conf file:
# vi grub.conf
Append parameter maxcpus at the end of Kernel line. A the end it should read as follows:
kernel /boot/vmlinuz-2.6.13-Ora10g root=/dev/sda1 ro maxcpus=2
Save and close the file. Reboot system:
# reboot
Alternatively, you need to enter parameter at grub or lilo boot prompt. For example if you are using Grub as a boot loader, at Grub prompt press ‘e’ to edit command before booting.

  1. Select second line
  2. Again, press ‘e’ to edit selected command
  3. Select kernel line
  4. Append maxcpus=2 parameters.
  5. Press b to boot system

See also:

UPDATED for accuracy.