CPU-Governor zum Musikmachen wechseln

Sound, Digitalkameras, TV+Video und Spiele.
Antworten
tonerzeuger
Beiträge: 46
Registriert: 06.10.2017 16:38:10

CPU-Governor zum Musikmachen wechseln

Beitrag von tonerzeuger » 21.12.2021 14:28:35

Hallo zuammen,

ich betreibe eine Orgel (setbfree) und eine Klaviersoftware (Pianoeq) unter JACK auf einem älteren Laptop. Die Latency ist nach etwas optimieren durchaus okay (4 ms), aber meine CPU ist nicht die Schnellste, und mit beidem zugleich wird es eng :-/

Frage: Kann ich den CPU-Scaling-Governor auch als normaler User auf "performance" umschalten? Ich habe bisher nur Anleitungenm gesehen, wo man das als root machen musste, und das ist mir auf Dauer doch zu unkomfortabel.

Mir schwebt also ein Skript vor, das zuerst den CPU-Governor auf "Performance" schaltet und danach qjackctl startet. Auch das zurück wechseln nach dem Musikmachen lässt sich idealerweise mit einem Klick erledigen :-)

Was meint Ihr, gibt es da eine Chance, oder ist das unrealistisch? Ich will das einfach nicht jedes mal von Hand erledigen, notfalls installiere ich mir halt parallel ein Audio-Debian, das immer auf "Performance" läuft...

Benutzeravatar
novalix
Beiträge: 1909
Registriert: 05.10.2005 12:32:57
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: elberfeld

Re: CPU-Governor zum Musikmachen wechseln

Beitrag von novalix » 21.12.2021 15:01:48

Hi,

das wäre ein regulärer Einsatzfall für Debiansudo.
Du müsstest Dich allerdings ein wenig mit der Konfigurationssyntax beschäftigen.
In groben Zügen:

Code: Alles auswählen

# apt* install sudo

Code: Alles auswählen

man sudoers
Das ist ein sehr umfangreiches Manual. Lies im Zweifel zuerst die Beispielsektion.

Code: Alles auswählen

# visudo
Dann den Eintrag erstellen der Deinem User erlaubt das binary für den benötigten Befehl ohne Eingabe des Passworts aufzurufen.
Testen:

Code: Alles auswählen

$ sudo $Befehl
Skript schreiben.
Das Wem, Wieviel, Wann, Wozu und Wie zu bestimmen ist aber nicht jedermannns Sache und ist nicht leicht.
Darum ist das Richtige selten, lobenswert und schön.

tonerzeuger
Beiträge: 46
Registriert: 06.10.2017 16:38:10

Re: CPU-Governor zum Musikmachen wechseln

Beitrag von tonerzeuger » 21.12.2021 15:27:13

Hey, vielen Dank!

Das klingt nicht unbedingt super-easy, aber es könnte sich lohnen :-)

Eine Frage noch: Gehört visudo als Befehl zu sudo, oder wird da eine Datei mit dem Vi bearbeitet? Wenn ja, würde ich Nano bevorzugen!

Benutzeravatar
novalix
Beiträge: 1909
Registriert: 05.10.2005 12:32:57
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: elberfeld

Re: CPU-Governor zum Musikmachen wechseln

Beitrag von novalix » 21.12.2021 16:30:17

Ja, /usr/sbin/visudo wird vom Paket sudo mitgebracht. Der Name ist insofern etwas irreführend, dass nicht der vi fest damit verkoppelt ist, sondern der default editor. Welcher das auf Deinem System ist, findest Du am einfachsten heraus, indem Du das binary über den symbolischen link /usr/bin/editor aufrufst:

Code: Alles auswählen

editor
Falls Du dann nicht im nano landest, solltest Du diesen als default konfigurieren (man update-alternatives) oder die entsprechende Umgebungsvariable setzen (s. man visudo).
Das Wem, Wieviel, Wann, Wozu und Wie zu bestimmen ist aber nicht jedermannns Sache und ist nicht leicht.
Darum ist das Richtige selten, lobenswert und schön.

tonerzeuger
Beiträge: 46
Registriert: 06.10.2017 16:38:10

Re: CPU-Governor zum Musikmachen wechseln

Beitrag von tonerzeuger » 21.12.2021 17:39:28

Großartig - vielen Dank!

tonerzeuger
Beiträge: 46
Registriert: 06.10.2017 16:38:10

Re: CPU-Governor zum Musikmachen wechseln

Beitrag von tonerzeuger » 22.12.2021 19:10:41

Hurra, ich kann einen ersten Erfolg vermelden!

Miit visudo habe ich folgende Zeile in die sudoers-datei eingefügt:

Code: Alles auswählen

benutzername rechnername = (root) NOPASSWD: /usr/bin/cpufreq-set 
Das Skript sieht dann so aus (für 4 Intel-Prozessorkerne bzw. Threads)

Code: Alles auswählen

#!/bin/bash
sudo -u root cpufreq-set -c 0 -g performance
sudo -u root cpufreq-set -c 1 -g performance
sudo -u root cpufreq-set -c 2 -g performance
sudo -u root cpufreq-set -c 3 -g performance
exit
Damit setze ich in einem Schritt und ohne Passwortabfrage den CPU-Governor auf "performance". Wenn ich wieder Strom sparen will, starte ich praktisch das gleiche Skript, nur dass der letzte Ausdruck für jeden Kern "ondemand" heißt statt "performance".

Wenn ich jetzt diese Skripte mit dem Starten bzw. Stoppen von JACK verbinde (was mit qjackctl geht), bin ich am Ziel! :)

DeletedUserReAsG

Re: CPU-Governor zum Musikmachen wechseln

Beitrag von DeletedUserReAsG » 22.12.2021 19:45:46

Hast du mal evaluiert, ob das praktisch überhaupt einen Unterschied macht, und kannst darüber was schreiben?

Eine heutige CPU hat eine Taktlänge von Nanosekunden, und schaltet bei Bedarf innerhalb von Mikrosekunden (oder schneller) um – deine Latenz gibst du mit 4ms an, um mindestens den Faktor 1000 länger.

Zumindest bei mir treten xruns in der Regel bei I/O-Operationen auf, bei denen ein von vorneherein höherer CPU-Takt mir auch keine nennenswerten Vorteile gebracht hätte. Eher noch würde man die Priorität der betreffenden Prozesse mit nice hochsetzen, oder in den ulimits mehr Ressourcen spendieren. Interessiert mich, ob und wie sich hier der Governor bei dir auswirkt, deswegen die Frage.

tonerzeuger
Beiträge: 46
Registriert: 06.10.2017 16:38:10

Re: CPU-Governor zum Musikmachen wechseln

Beitrag von tonerzeuger » 23.12.2021 10:22:50

Hm, was Du schreibst klingt einleuchtend.

Tatsächlich kann ich jetzt beide Instrumente gleichzeitig spielen (s.o.) und habe keine Performance-Probleme mehr - und das mit dem onboard Soundchip des Lenovo Thinkpad X230.

Im Linux-readme von Pianoteq wird der Performance-Governor empfohlen. deshalb hab ich das mal versucht.

Allerdings habe ich außerdem nach dem linuxaudio-wiki die "threaded irq"
Option des Kernels aktiviert, das soll auch bei einem Standard-Kernel die Reaktionszeit deutlich verkürzen. Vielleicht liegt's ja auch daran?

https://wiki.linuxaudio.org/wiki/system_configuration

HenryEichelberger
Beiträge: 32
Registriert: 01.03.2021 15:01:44

Re: CPU-Governor zum Musikmachen wechseln

Beitrag von HenryEichelberger » 12.01.2022 11:15:34

Hallo,
ergänzend dazu:
Es gibt ein GUI Programm um den CPU-Governor zu befummeln: cpupower-gui
Die oben beschriebene Methode ist jedoch sinnvoller wenn man den Modus mit Jack starten und beenden will.

Auch nicht außer acht zu lassen ist die Tatsache das USB Geräte wie z.B. das Audio Interface gerne mal "schlafen geschickt" wird um Strom zu sparen. Um das mal schnell in den Griff zu bekommen hilft das CLI Programm powertop. Man kann sich mit der Tab Taste zu "abstimmbare Optionen" klicken und sieht dort die betreffenden Geräte und kann diese dort auch bis zum nächsten Systemstart "aufwecken" wenn nötig.

Meiner Ansicht nach sind diese beiden Schritte die wichtigsten um gerade bei Laptops Xruns zu vermeiden, wie auch immer man später daran geht. Die genannten Programme machen es leicht das erst mal zu testen.

Antworten