setting core priorities

Hi everybody,

I am using on opensuse a parallel process which seems to get IDs randomly when launched (in the processes tab of the system monitor). I’ d like these processes to avoid using one particular core of my computer. Because everytime I use the tenth core the cpu fan goes mad and loud, while if i use my other 23 cores at 100% it is perfectly silent. I suspect the temperature captor of this particular core to be deficient. I cannot fix the hardware right now so I’m looking to avoid the problem on the software side by using only the 23 cores that are working properly.

I found the taskset command which let you bind a process to a core. But as I have many process IDs that are changing at each use, and 24 cores, it is time consuming to bind everything all the time.

Is there a way to forbid the use of one particular core or to set priorities between the cores?

I found the following kernel load option that you could use here:

maxcpus=22

You would edit your menu.lst file in KDE using:

kdesu kwrite /boot/grub/menu.lst

and add this to the kernel load line as:

###Don't change this comment - YaST2 identifier: Original name: linux###
title Desktop -- openSUSE 11.4 - 2.6.37.1-1.2
    root (hd0,0)
    kernel /boot/vmlinuz-2.6.37.1-1.2-desktop root=/dev/disk/by-id/ata-INTEL_SSDSA2M080G2GC_CVPO037603KN080JGN-part1 resume=/dev/disk/by-id/ata-Hitachi_HDS721010CLA332_JP9921HD2SSJLH-part5 splash=silent **maxcpus=22** quiet showopts vga=0x346
    initrd /boot/initrd-2.6.37.1-1.2-desktop

Wow, 24 Cores is a lot. What kind of computer are you using there?

Thank You,

Thank you for your reply :slight_smile:
With the solution you give I can limit the maximum number of cores that are used, but I cannot choose which one will not be loaded, can I? It is the tenth cores (CPU09) that has a problem on my computer.

We have some nice computers indeed, dual-processor motherboard, with 12 cores on each processor, 64 giga Ram. We use that for finite elements analisys :slight_smile:

Hi
Just offline it? As root user;


cd /sys/devices/system/cpu
ls -l
echo 0 > /sys/devices/system/cpu/cpu09/online
grep "processor" /proc/cpuinfo

Just change the 0 to a 1 to online it.

tank you malcom, this is exactly what I was looking for!