Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
Fedolight Audio RT
#14
Hello,

Je souhaite partager avec vous une petite optimisation / affiner le mode "Temps Réel" pour un processus sous linux, dans le cas c'est "squeezelite" :

* De base squeezelite après son démarrage génère plusieurs processus (1 parent & 3 enfants) et non un seul comme on pourrait le penser :
Code :
# pstree -p $(pidof squeezelite)
squeezelite(1762)─┬─{squeezelite}(1763)
                  ├─{squeezelite}(1764)
                  └─{squeezelite}(1765)


* Ensuite lorsque dans le fichier configuration vous placez la priorité du processus à "99" on obtient bien un temps réel, mais uniquement sur l'un des processus de Squeezelite, mais pas sur l'ensemble, cf. ci-dessous :
   

* Durant l'écoute d'un fichier, Squeezelite (qui travaille plus ou moins !!) répartie les actions sur l'un des autres processus crée à son démarrage : le processus passe donc de "Sleep" à "Running" :
   
   

> Comme on peut le voir sur la première copie d'écran c'est tout sauf le processus en RT qui travaille (j'utilise dans mon cas une carte audio interne SPDIF) ; lorsque j'attaque mon DAC via de l'USB c'était plutôt l'avant dernier processuis (en mode RT) qui faisait le travaille et qui au besoin passait "la main" aux autres processus...

* Maintenant si vous souhaitez passer Squeezelite en "full RT" il faut pour cela :
1 / Sauvegarder et Editer le fichier de service :
# sudo cp /usr/lib/systemd/system/squeezelite.service /usr/lib/systemd/system/squeezelite.service.bkp
# sudo vim /usr/lib/systemd/system/squeezelite.service

2 / A la section [Service] :
> Commenter les lignes suivantes :
Code :
CPUSchedulingPolicy=batch
Nice=-20
LimitRTPRIO=infinity
LimitMEMLOCK=infinity


> Ajouter les lignes suivantes
Code :
CPUSchedulingPolicy=fifo
CPUSchedulingPriority=99

Source / Lecture : Systemd & Scheduler

3 / Recharger la configuration de systemd et redémarrer les services :
Code :
# sudo systemctl daemon-reload
# sudo systemctl restart squeezeboxserver
# sudo systemctl restart squeezelite

Note : je redémarre SqueezeBoxServer car j'ai pu constater une utilisation anormale du CPU par squeezelite sans cette action...


4 / Vérifier tout ça via la commande "htop" (plus détaillée que top) ce qui donne :
   

> On a bien tous nos processus en mode RT ! Big Grin

Mon retour : j'ai le sentiment qu'on a un son plus dynamique et plus de clair, je vous laisse juger par vous même. Wink

Il est possible d'aller "un poil" plus loin en faisant une affinité sur un coeur du processeur, car comme tout processus l'OS gére lui même la répartition sur les différents CPU disponible ...pour l'avoir testé en forçant le processus sur un seul coeur : j'ai surtout eu un soucis de stabilité CPU ensuite...donc attention ! Après cela mets rapidement en évidence les petits soucis de latence que l'on peut avoir : j'ai eu au début beaucoup coupure lorsque j'écoutais des fichiers lus depuis mon NAS via NFS...en jouant sur le buffer on arrive à gérer tout

Si vous souhaitez quand même le faire rien de plus simple, il faut pour cela :
1 / Editer le fichier de service :
# sudo vim /usr/lib/systemd/system/squeezelite.service

2 / A la section [Service] :
> Ajouter la ligne suivante :
CPUAffinity=0,1

Source : Set Affinity CPU

3 / Recharger la configuration de systemd et redémarrer les services :
Code :
# sudo systemctl daemon-reload
# sudo systemctl restart squeezeboxserver
# sudo systemctl restart squeezelite

La seule chose que je n'explique pas aujourd'hui, faute d'informations : pourquoi Squeezelite génère-t-il autant de processus  Huh  

Pour LMS c'est possible de le faire : il faut ajouter les mêmes lignes dans son fichier de service sans commenter l'existant :
Code :
CPUSchedulingPolicy=fifo
CPUSchedulingPriority=99

A bientôt
Streamer : Windows Server 2019 & AO 3 & HQPlayer | Aurdirvana -> Diretta
Dac : PS Paul Hynes SR4 -> Chord 2Qute
Casque : Auris HA-2SF -> Focal Clear MG
Démat : Auris HA-2SF -> Atoll IN100 By JCT (Ampli) -> Harbeth LS3/5A 11 Ohms
Vinyle : Thorens TD 295 MK IV & Autio-Technica AT-150MLX




Répondre


Messages dans ce sujet
Fedolight Audio RT - par Olivier - 11-26-2015, 03:22 PM
RE: Fedolight Audio RT - par LittleScarabee - 11-29-2015, 01:47 PM
RE: Fedolight Audio RT - par patatras - 11-29-2015, 02:01 PM
RE: Fedolight Audio RT - par LittleScarabee - 11-29-2015, 03:03 PM
RE: Fedolight Audio RT - par LittleScarabee - 12-05-2015, 10:14 AM
RE: Fedolight Audio RT - par LittleScarabee - 12-23-2015, 03:22 PM
RE: Fedolight Audio RT - par ROL33 - 12-23-2015, 05:21 PM
RE: Fedolight Audio RT - par LittleScarabee - 12-23-2015, 06:05 PM
RE: Fedolight Audio RT - par Olivier - 12-23-2015, 08:50 PM
RE: Fedolight Audio RT - par LittleScarabee - 12-23-2015, 09:02 PM
RE: Fedolight Audio RT - par Olivier - 12-23-2015, 10:01 PM
RE: Fedolight Audio RT - par Olivier - 01-10-2016, 08:19 PM
RE: Fedolight Audio RT - par LittleScarabee - 01-10-2016, 08:28 PM
RE: Fedolight Audio RT - par Olivier - 01-10-2016, 08:48 PM
RE: Fedolight Audio RT - par LittleScarabee - 01-10-2016, 09:05 PM
RE: Fedolight Audio RT - par Olivier - 01-10-2016, 11:36 PM
RE: Fedolight Audio RT - par LittleScarabee - 01-11-2016, 02:47 PM
RE: Fedolight Audio RT - par Olivier - 01-11-2016, 04:36 PM
RE: Fedolight Audio RT - par Mathew - 01-11-2016, 05:07 PM
RE: Fedolight Audio RT - par Olivier - 01-11-2016, 05:42 PM
RE: Fedolight Audio RT - par LittleScarabee - 01-11-2016, 09:23 PM
RE: Fedolight Audio RT - par Olivier - 01-11-2016, 09:30 PM
RE: Fedolight Audio RT - par Mathew - 01-11-2016, 06:06 PM
RE: Fedolight Audio RT - par Mathew - 01-11-2016, 07:38 PM
RE: Fedolight Audio RT - par Olivier - 01-11-2016, 07:50 PM
RE: Fedolight Audio RT - par Mathew - 01-11-2016, 08:06 PM
RE: Fedolight Audio RT - par LittleScarabee - 01-11-2016, 09:59 PM
RE: Fedolight Audio RT - par Olivier - 01-11-2016, 10:10 PM
RE: Fedolight Audio RT - par LittleScarabee - 01-11-2016, 10:36 PM
RE: Fedolight Audio RT - par Olivier - 01-11-2016, 10:49 PM
RE: Fedolight Audio RT - par Minh - 09-14-2023, 08:50 PM
RE: Fedolight Audio RT - par LittleScarabee - 09-14-2023, 10:28 PM
RE: Fedolight Audio RT - par Minh - 09-14-2023, 11:28 PM
RE: Fedolight Audio RT - par Minh - 09-15-2023, 03:45 PM
RE: Fedolight Audio RT - par mishelinka - 09-15-2023, 05:14 AM
RE: Fedolight Audio RT - par Minh - 09-15-2023, 07:33 AM
RE: Fedolight Audio RT - par kole - 10-01-2023, 12:13 PM
RE: Fedolight Audio RT - par Minh - 11-20-2023, 05:52 PM

Atteindre :


Utilisateur(s) parcourant ce sujet : 10 visiteur(s)