#1 Le 03/11/2015, à 17:57
- Compte supprimé
[RÉSOLU] Configuration MAO multicœurs «Ondemand» // «performance»
Configuration multicœurs «On demand» pour économiser la puissance électrique // «performance» pour éviter les Xruns
J'ai posté sur http://www.linuxmao.org/tiki-view_forum … &forumId=2
L'idée étant de garder l'ordinateur en économie d'énergie «on demand», problématique en MAO car générant des Xruns, sauf si on dédie un cœur en mode «performance» et qu'on y fait tourner Jack grâce à la commande taskset qui permet de faire tourner des processus sur les cœurs CPU choisis.
taskset est généralement utilisé pour récupérer ou fixer l’affinité CPU
d’un processus en cours d’exécution en donnant son PID ou de lancer une
nouvelle COMMANDE avec une affinité CPU fournie. L’affinité CPU est une
propriété de l’ordonnanceur qui « lie » un processus à un ensemble de
CPUs donné sur un système. L’ordonnanceur de Linux respectera
l’affinité CPU et le processus ne s’exécutera sur aucun autre CPU.
Notez que l’ordonnanceur Linux gère également l’affinité CPU dite
« naturelle » : l’ordonnanceur essaie de maintenir les processus sur le
même CPU tant que ça a du sens pour des raisons de performances. Ainsi,
forcer une affinité CPU spécifique n’est utile que dans certaines
applications.
L’affinité CPU est représenté par un masque de bits, avec les bits de
poids faible correspondant au premier CPU logique et les bits de poids
fort au dernier CPU logique. Tous les CPUs ne peuvent pas exister dans
un système donné, mais un masque peut spécifier plus sur ceux qui sont
présents. Un masque récupéré n’aura que les bits correspondants aux
CPUs présent physiquement sur le système. Si un masque erroné est
fourni (c’est-à-dire, un masque qui correspond à aucun CPU valable sur
le système courant) une erreur est alors renvoyée. Les masques sont
généralement codés en hexadécimal. Par exemple :
0x00000001
correspond au processeur #0
0x00000003
correspond aux processeurs #0 et #1
0xFFFFFFFF
correspond à tous les processeurs (#0 à #31)
Lorsque taskset retourne, il est garantie que le programme donnée a été
ordonnancé par un CPU légal.
…
…
…
Le mieux serait de poster sur LinuxMAO, sinon les gens peuvent discuter ici, et il y devrait y avoir quelqu'un pour mettre à jour le site LinuxMAO.
Merci
LDVC@
Dernière modification par Compte supprimé (Le 21/06/2016, à 13:33)
#2 Le 21/06/2016, à 13:32
- Compte supprimé
Re : [RÉSOLU] Configuration MAO multicœurs «Ondemand» // «performance»
Résolu par ces deux scripts à appeler depuis qjackctl :
à l'exécution de Jack (mode performance, pas de changement de fréquences des processeurs)
#!/bin/bash
# performance.sh
# script to modify scheduler to cpu performance
# author : LDVC@
# 20151221 #the script performances
nb_cpu=$(cat /proc/cpuinfo | grep processor | wc -l) #determine how many cpu cores in computer
for i in `seq 0 $(($nb_cpu-1))`;
do cpufreq-selector -c $i -g ``performance''; #change cpu scheduler to PERFORMANCE
done
exit 0
à l'extinction de Jack (mode économie, adaptation des fréquences des processeurs)
#!/bin/bash
# powersave.sh
# script to modify scheduler to cpu powersave
# author : LDVC@
# 20151221 #the script powersave
nb_cpu=$(cat /proc/cpuinfo | grep processor | wc -l) #determine how many cpu cores in computer
for i in `seq 0 $(($nb_cpu-1))`;
do cpufreq-selector -c $i -g ``powersave''; #change cpu scheduler to POWERSAVE
done
exit 0