3.3. Optimisation des processeurs à l'aide de l'outil tuna
Les commandes de l'outil tuna
peuvent cibler des unités centrales individuelles.
En utilisant l'outil thon, vous pouvez
Isolate CPUs
- Toutes les tâches exécutées sur l'unité centrale spécifiée se déplacent vers la prochaine unité centrale disponible. L'isolation d'une unité centrale la rend indisponible en la supprimant du masque d'affinité de tous les threads.
Include CPUs
- Permet aux tâches de s'exécuter sur l'unité centrale spécifiée
Restore CPUs
- Rétablit la configuration précédente de l'unité centrale spécifiée.
Cette procédure décrit comment régler les CPU à l'aide de l'interface CLI de tuna
.
Conditions préalables
- L'outil tuna est installé. Pour plus d'informations, voir Installation de l'outil tuna.
Procédure
Pour spécifier la liste des unités centrales devant être affectées par une commande :
# tuna --cpus=cpu_list [command]
L'argument cpu_list est une liste de numéros de CPU séparés par des virgules. Par exemple,
--cpus=0,2
. Les listes d'unités centrales peuvent également être spécifiées dans une plage, par exemple--cpus=”1-3”
qui sélectionnerait les unités centrales 1, 2 et 3.Pour ajouter une unité centrale spécifique à l'actuelle cpu_list, par exemple, utilisez
--cpus= 0
.Remplacer [command] par, par exemple,
--isolate
.Pour isoler une unité centrale :
# tuna --cpus=cpu_list --isolate
Pour inclure une unité centrale :
# tuna --cpus=cpu_list --include
Pour utiliser un système à quatre processeurs ou plus, montrez comment faire en sorte que tous les threads ssh s'exécutent sur les unités centrales 0 et 1, et tous les threads
http
sur les unités centrales 2 et 3:# tuna --cpus=0,1 --threads=ssh\* \ --move --cpus=2,3 --threads=http\* --move
Cette commande permet d'effectuer les opérations suivantes de manière séquentielle :
- Sélectionne les unités centrales 0 et 1.
-
Sélectionne tous les fils qui commencent par
ssh
. -
Déplace les threads sélectionnés vers les unités centrales sélectionnées. Tuna définit le masque d'affinité des threads commençant par
ssh
vers les CPU appropriés. Les CPU peuvent être exprimés numériquement par 0 et 1, en masque hexagonal par 0x3, ou en binaire par 11. - Réinitialise la liste des unités centrales à 2 et 3.
-
Sélectionne tous les fils qui commencent par
http
. -
Déplace les threads sélectionnés vers les unités centrales spécifiées. Tuna définit le masque d'affinité des threads commençant par
http
vers les unités centrales spécifiées. Les unités centrales peuvent être exprimées numériquement par 2 et 3, en masque hexagonal par 0xC, ou en binaire par 1100.
Verification steps
Affichez la configuration actuelle et vérifiez que les modifications ont été effectuées comme prévu :
# tuna --threads=gnome-sc\* --show_threads \ --cpus=0 --move --show_threads --cpus=1 \ --move --show_threads --cpus=+0 --move --show_threads thread ctxt_switches pid SCHED_ rtpri affinity voluntary nonvoluntary cmd 3861 OTHER 0 0,1 33997 58 gnome-screensav thread ctxt_switches pid SCHED_ rtpri affinity voluntary nonvoluntary cmd 3861 OTHER 0 0 33997 58 gnome-screensav thread ctxt_switches pid SCHED_ rtpri affinity voluntary nonvoluntary cmd 3861 OTHER 0 1 33997 58 gnome-screensav thread ctxt_switches pid SCHED_ rtpri affinity voluntary nonvoluntary cmd 3861 OTHER 0 0,1 33997 58 gnome-screensav
Cette commande permet d'effectuer les opérations suivantes de manière séquentielle :
-
Sélectionne tous les fils qui commencent par les fils
gnome-sc
. - Affiche les threads sélectionnés pour permettre à l'utilisateur de vérifier leur masque d'affinité et leur priorité RT.
- Sélectionne l'unité centrale 0.
-
Déplace les threads
gnome-sc
vers l'unité centrale spécifiée, l'unité centrale 0. - Affiche le résultat du déplacement.
- Réinitialise la liste des CPU à CPU 1.
-
Déplace les threads
gnome-sc
vers l'unité centrale spécifiée, l'unité centrale 1. - Affiche le résultat du déplacement.
- Ajoute l'unité centrale 0 à la liste des unités centrales.
-
Déplace les threads
gnome-sc
vers les unités centrales spécifiées, les unités centrales 0 et 1. - Affiche le résultat du déplacement.
-
Sélectionne tous les fils qui commencent par les fils
Ressources supplémentaires
-
/proc/cpuinfo
fichier -
tuna(8)
page de manuel