Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 03/11/2015, à 16: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 smile
LDVC@

Dernière modification par Compte supprimé (Le 21/06/2016, à 12:33)

#2 Le 21/06/2016, à 12: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