• Diese Seite verwendet Cookies. Indem du diese Website weiterhin nutzt, erklärst du dich mit der Verwendung von Cookies einverstanden. Erfahre mehr

Hohe CPU last tmux + powerline

Kamikaze

Warrior of Sunlight
Mitarbeiter
Themenstarter #1
Seit dem Wechsel auf python3 verursacht tmux mit powerline eine unverschämt hohe CPU Last bei mir.

Nach etwas herumgesuche scheint die Ursache, dass python und alle genutzten Module bei jedem Update der powerline neu geladen werden. Und anscheinend ist python3 etwas fetter als der Vorgänger. Doch dafür gibt es eine Lösung: powerline-daemon

powerline-daemon erzeugt einen permanenten powerline-Prozess und sollte von jedem Benutzer gestartet werden, der powerline nutzt. Die Dokumentation empfiehlt das mit der Shell zu starten, aber da man pro Nutzer eine Instanz braucht wollte ich sicher gehen, dass der Daemon mit jeder tmux-Instanz läuft. Die Lösung ist ein Eintrag in der /usr/local/etc/tmux.conf (siehe 1. Zeile):

Code:
run-shell -b "/usr/local/bin/powerline-daemon"
source "/usr/local/lib/python2.7/site-packages/powerline/bindings/tmux/powerline.conf"
set-option -g history-limit 65536
Das hat die Hintergrundlast meines Systems um Faktor 10 gesenkt. Auch auf einem anderen System auf dem noch python2 läuft verringert powerline-daemon die Last.
 

TCM

Well-Known Member
#2
Also wenn ich mal Argumente dagegen bräuchte, sich die Shell mit Tonnen an Schnickschnack zuzukleistern, dann wäre ein wildgewordenes Python-Script, dessen "Lösung" in einem separaten Daemon besteht, ein Paradebeispiel.

Was zur Hölle..
 

goblin

Dämonenbeschwörer
#3
Also wenn ich mal Argumente dagegen bräuchte, sich die Shell mit Tonnen an Schnickschnack zuzukleistern, dann wäre ein wildgewordenes Python-Script, dessen "Lösung" in einem separaten Daemon besteht, ein Paradebeispiel.

Was zur Hölle..
Das ist heutzutage leider an der Tagesordnung. Im Job habe ich mit Gradle zu tun, die machen den gleichen Scheiß. Der Prozess ist zu fett? Anstatt einer Schlankheitskur wird ein Daemon draus gemacht…