Utilisez cette procédure pour activer ou désactiver des coeurs à l'aide du système d'exploitation Oracle Linux. Vous pouvez effectuer cette opération aussi souvent que nécessaire, lorsque l'application est en cours d'exécution.
Avant de commencer
Cette tâche est prise en charge sur Oracle Linux Unbreakable Enterprise Kernel.
Cette tâche requiert des privilèges root.
L'élasticité requiert la fonction Intel Speed Step, qui peut être activée ou désactivée dans l'écran Advanced - Configuration de gestion d'alimentation de la CPU de l'utilitaire de configuration du BIOS. Ce paramètre est activé par défaut.
Dans la ligne de commande Linux, les processeurs virtuels sont appelés cpuNN, où NN est le numéro du processeur logique. Par exemple, le processeur logique 18 s'affiche sous le nom cpu18.
ls /sys/devices/system/cpu/cpu*/online | wc -l
Si l'hyperthreading est activé, cette commande retourne le nombre de sockets x 36.
Si l'hyperthreading est désactivé, cette commande retourne le nombre de sockets x 18.
grep . /sys/devices/system/node*/cpulist
Cette commande retourne une liste de sockets et de processeurs logiques.
Si l'hyperthreading est activé, cette commande retourne deux plages de 18 processeurs logiques par socket.
Si l'hyperthreading est désactivé, cette commande retourne une plage de 18 processeurs logiques par socket.
L'exemple suivant présente un serveur à quatre sockets avec l'hyperthreading activé :
# grep . /sys/devices/system/node*/cpulist socket 0: 0-17, 72-89 socket 1: 18-35, 90-107 socket 2: 36-53, 108-125 socket 3: 54-71, 126-143
Par exemple, pour désactiver le dernier coeur du premier socket sur un serveur à quatre sockets :
echo 0 > /sys/devices/system/cpu/cpu17/online désactive le processeur logique 17.
echo 0 > /sys/devices/system/cpu/cpu89/online désactive le processeur logique 89.
La désactivation du processeur logique 89 sur un serveur à quatre sockets est uniquement nécessaire si l'hyperthreading est activé.
Par exemple, pour activer le dernier coeur du premier socket sur un serveur à quatre sockets :
echo 1 > /sys/devices/system/cpu/cpu17/online désactive le processeur logique 17.
L'activation de l'un des deux processeurs logiques active le coeur.
echo 1 > /sys/devices/system/cpu/cpu89/online active le processeur logique 89.
Le processeur logique 89 existe uniquement sur un serveur à quatre sockets si l'hyperthreading est activé.
L'exemple suivant présente les commandes pour désactiver le dernier coeur de chaque socket sur un serveur à quatre sockets avec l'hyperthreading activé :
# echo 0 > /sys/devices/system/cpu/cpu17/online # echo 0 > /sys/devices/system/cpu/cpu89/online # echo 0 > /sys/devices/system/cpu/cpu35/online # echo 0 > /sys/devices/system/cpu/cpu107/online # echo 0 > /sys/devices/system/cpu/cpu53/online # echo 0 > /sys/devices/system/cpu/cpu125/online # echo 0 > /sys/devices/system/cpu/cpu71/online # echo 0 > /sys/devices/system/cpu/cpu143/online
L'exemple suivant indique comment annuler cette action et réactiver tous les processeurs logiques et les coeurs désactivés dans l'exemple précédent :
# echo 1 > /sys/devices/system/cpu/cpu17/online # echo 1 > /sys/devices/system/cpu/cpu89/online # echo 1 > /sys/devices/system/cpu/cpu35/online # echo 1 > /sys/devices/system/cpu/cpu107/online # echo 1 > /sys/devices/system/cpu/cpu53/online # echo 1 > /sys/devices/system/cpu/cpu125/online # echo 1 > /sys/devices/system/cpu/cpu71/online # echo 1 > /sys/devices/system/cpu/cpu143/online
Voir aussi