CPU-Governor zum Musikmachen wechseln
-
- Beiträge: 46
- Registriert: 06.10.2017 16:38:10
CPU-Governor zum Musikmachen wechseln
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...
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...
- 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
Hi,
das wäre ein regulärer Einsatzfall für sudo.
Du müsstest Dich allerdings ein wenig mit der Konfigurationssyntax beschäftigen.
In groben Zügen:
Das ist ein sehr umfangreiches Manual. Lies im Zweifel zuerst die Beispielsektion.
Dann den Eintrag erstellen der Deinem User erlaubt das binary für den benötigten Befehl ohne Eingabe des Passworts aufzurufen.
Testen:
Skript schreiben.
das wäre ein regulärer Einsatzfall für sudo.
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
Code: Alles auswählen
# visudo
Testen:
Code: Alles auswählen
$ sudo $Befehl
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.
Darum ist das Richtige selten, lobenswert und schön.
-
- Beiträge: 46
- Registriert: 06.10.2017 16:38:10
Re: CPU-Governor zum Musikmachen wechseln
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!
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!
- 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
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: Falls Du dann nicht im nano landest, solltest Du diesen als default konfigurieren (man update-alternatives) oder die entsprechende Umgebungsvariable setzen (s. man visudo).
Code: Alles auswählen
editor
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.
Darum ist das Richtige selten, lobenswert und schön.
-
- Beiträge: 46
- Registriert: 06.10.2017 16:38:10
Re: CPU-Governor zum Musikmachen wechseln
Großartig - vielen Dank!
-
- Beiträge: 46
- Registriert: 06.10.2017 16:38:10
Re: CPU-Governor zum Musikmachen wechseln
Hurra, ich kann einen ersten Erfolg vermelden!
Miit visudo habe ich folgende Zeile in die sudoers-datei eingefügt:
Das Skript sieht dann so aus (für 4 Intel-Prozessorkerne bzw. Threads)
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!
Miit visudo habe ich folgende Zeile in die sudoers-datei eingefügt:
Code: Alles auswählen
benutzername rechnername = (root) NOPASSWD: /usr/bin/cpufreq-set
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
Wenn ich jetzt diese Skripte mit dem Starten bzw. Stoppen von JACK verbinde (was mit qjackctl geht), bin ich am Ziel!
Re: CPU-Governor zum Musikmachen wechseln
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.
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.
-
- Beiträge: 46
- Registriert: 06.10.2017 16:38:10
Re: CPU-Governor zum Musikmachen wechseln
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
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
-
- Beiträge: 32
- Registriert: 01.03.2021 15:01:44
Re: CPU-Governor zum Musikmachen wechseln
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.
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.