Quelque fois il faut désactiver le mode Intel Hyper-Threading (HT) dans votre système. Linux supporte que l'unité centrale soit connectée ou déconnectée à chaude. Tu ne dois pas redémarrer ton système, aller au BIOS/UEFI et désactiver HT à la main. Tu peux désactiver les coeurs temporairement sous Linux pendant le fonctionnement du système.

Montrer la liste des unités centrales sous Linux

Regarde la liste des unités centrales. Tu peux voir quelque détails concernant la rélation entre unité centrale et coeur. Regarde les colonnes CPU et CORE.

lscpu --extended
CPU NODE SOCKET CORE L1d:L1i:L2:L3 ONLINE MAXMHZ    MINMHZ
0   0    0      0    0:0:0:0       yes    3200,0000 800,0000
1   0    0      0    0:0:0:0       yes    3200,0000 800,0000
2   0    0      1    1:1:1:0       yes    3200,0000 800,0000
3   0    0      1    1:1:1:0       yes    3200,0000 800,0000

Désactiver HT

Désactiver une UC seulement. Tu dois être root.

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

Ce petit script met en hors de fonction tous les UC HT. Tu dois être root.

for i in $(cat /sys/devices/system/cpu/cpu*/topology/thread_siblings_list | awk -F "[,-]" '{ print $2; }' | tr ',' '\n' | sort -un)
do
  echo 0 > /sys/devices/system/cpu/cpu$i/online
done

Découvrons les changements.

dmesg | grep CPU
...
[439975.285834] IRQ 26: no longer affine to CPU1
[439975.287095] smpboot: CPU 1 is now offline
[439975.301424] IRQ 30: no longer affine to CPU3
[439975.301437] IRQ 32: no longer affine to CPU3
[439975.302453] smpboot: CPU 3 is now offline

lscpu --extended
CPU NODE SOCKET CORE L1d:L1i:L2:L3 ONLINE MAXMHZ    MINMHZ
0   0    0      0    0:0:0:0       yes    3200,0000 800,0000
1   -    -      -    :::           no     3200,0000 800,0000
2   0    0      1    1:1:1:0       yes    3200,0000 800,0000
3   -    -      -    :::           no     3200,0000 800,0000

Mettre en marche les UC de nouveau

La commande suivante met tous les UC en marche. Tu dois être root.

for i in $(find /sys/devices/system/cpu/cpu* -name online); do echo 1 > $i; done

Migration de BIND/OpenDNSSEC vers PowerDNS avec DNSSEC

Le 17 août 2016 à 15:01 | Molnár Péter

Migration de BIND et OpenDNSSEC vers PowerDNS 4 avec DNSSEC

read more

Installation d'Altera Quartus II 14.0 et ModelSim sous Ubuntu Linux 14.10

Le 01 novembre 2014 à 07:49 | Molnár Péter

Installation d'Altera Quartus II 14.0 et la configuration du ModelSim Altera Edition sous le système Ubuntu Linux 14.10.

read more

Programmation d'un FPGA distant à travers un tunnel SSH avec Altera Quartus II

Le 23 octobre 2014 à 14:43 | Molnár Péter

Programmation JTAG d'un FPGA sur le réseau, connecté à un hôte distant par Altera USB Blaster, à travers un tunnel SSH avec Quartus II.

read more

Ligne de commande de l'Altera Quartus II et NIOS II

Le 12 octobre 2014 à 08:06 | Molnár Péter

Ligne de commande de l'Altera Quartus II et NIOS II

read more

IT8720F watchdog

Le 23 mars 2013 à 07:37 | Molnár Péter

Mise en place du watchdog IT8720F sur Linux

read more