Linux Hotplug een CPU ( Disable/Enable)

  Algemeen, Linux

Met Linux is het mogelijk om online een cpu uit te schakelen en ook weer in te schakelen op een actief systeem.controleer eerst hoeveel cpu’s je in het machine hebt met lscpu of cat /proc/cpuinfo

 

$ lscpu 
Architecture:                    x86_64
CPU op-mode(s):                  32-bit, 64-bit
Byte Order:                      Little Endian
Address sizes:                   39 bits physical, 48 bits virtual
CPU(s):                          8
On-line CPU(s) list:             0-7
Thread(s) per core:              2
Core(s) per socket:              4
Socket(s):                       1
NUMA node(s):                    1
Vendor ID:                       GenuineIntel
CPU family:                      6
Model:                           94
Model name:                      Intel(R) Core(TM) i7-6700HQ CPU @ 2.60GHz
Stepping:                        3

Deze machine heeft dus 4 cores met HT, we zien er dus 8. we kunnen deze 8 afzonderlijk uit en aanzetten. dit kan je als volgt doen. Dt moet je uiteraard als root uitvoeren.

echo 0 > /sys/devices/system/cpu/cpu7/online

en aan gaat met een echo 1.

echo 1 > /sys/devices/system/cpu/cpu7/online

hier onder een voorbeeld waar cpu6 en cpu7 zijn uitgezet. met een deel van de lscpu output. Je kan alleen cpu0 niet uitzetten. voor de rest kan je alles uitzetten.

# echo 0 > /sys/devices/system/cpu/cpu7/online
# echo 0 > /sys/devices/system/cpu/cpu6/online
# lscpu 
Architecture:                    x86_64
CPU op-mode(s):                  32-bit, 64-bit
Byte Order:                      Little Endian
Address sizes:                   39 bits physical, 48 bits virtual
CPU(s):                          8
On-line CPU(s) list:             0-5
Off-line CPU(s) list:            6,7
Thread(s) per core:              1
Core(s) per socket:              4
Socket(s):                       1
NUMA node(s):                    1
Vendor ID:                       GenuineIntel
CPU family:                      6
Model:                           94
Model name:                      Intel(R) Core(TM) i7-6700HQ CPU @ 2.60GHz

Getest op rhel6, rhel7 en verschillende ubuntu/debian releases