Thursday, November 13, 2014

Isolating CPUs from the general scheduler in Linux.

It could be done using the kernel parameters:

isolcpus=

Format:

<cpu number>,...,<cpu number>

or

<cpu number>-<cpu number>

(must be a positive range in ascending order) or a mixture

<cpu number>,...,<cpu number>-<cpu number>

This option can be used to specify one or more CPUs to isolate from the general SMP balancing and scheduling algorithms. You can move a process onto or off an "isolated" CPU via the CPU affinity syscalls or cpuset.

<cpu number> begins at 0 and the maximum value is "number of CPUs in system - 1".

This option is the preferred way to isolate CPUs. The alternative -- manually setting the CPU mask of all   tasks in the system -- can cause problems and suboptimal load balancer performance.

Taken from /usr/share/doc/kernel-doc-2.6.32/Documentation/kernel-parameters.txt

Boot parameters of the running kernel in Linux

Let's say I need to find out with what parameters did the kernel boot?

The following command will give you the answer:

cat /proc/cmdline

For example:

janeiros@harlie:~$ cat /proc/cmdline
BOOT_IMAGE=/vmlinuz-3.0.0-32-generic-pae root=/dev/mapper/harlie-root ro quiet