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):
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.
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.