[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Slowfox



Hallo.

Christian Knoke - 28.06.17, 21:55:
> Wieso durchläuft firefox-esr beim Start 100 verschiedene PIDs?

Firefox verwendet Threads. Laut atop´s Scheduler-Ansicht (Taste [s]) warten 
hier bereits nach dem Starten von Firefox 54 schlafende Threads (TSLPI - 
interruptible sleep). Mit der Taste [y] lassen sich die einzelnen Threads 
beobachten. Da gibt es zum Beispiel bereits mindestens 8 Javascript Helper 
Threads.

ps aux und top zeigen Threads standardmäßig nicht. pstree zeigt sie 
zusammengefasst an, mit -p einzeln mit PID-Nummern, die Threads eben auch 
haben. top zeigt Threads mit [H]. Threads sind jedoch leichtgewichtiger als 
Prozesse und laufen im selben virtuellen Addressraum (vereinfacht Speicher-
Bereich) wie der Prozess, der sie startet. Daher kann ein Thread den gesamten 
Prozess zum Absturz bringen.

Das mal so in aller Kürze.

Generell habe ich den Eindruck, dass Du, wenn Du solche Dinge noch nicht 
verstehst, auch aus einem strace wenig entnehmen kannst. Es ist völlig normal 
dass moderne Anwendungen und auch Dienste dutzende oder gar hundert und mehr 
Threads verwenden, um verschiedene Aufgaben Dinge parallel auszuführen. Auch 
diese glib-Meldungen kommen mir nicht ungewöhnlich vor. Schau einfach mal in 
~/.xsession-errors und wundere Dich, was GUI-Anwendungen da alles von sich 
geben. Ich weiß selbst in der Regel nicht, inwiefern da irgendetwas davon 
kritisch ist und was davon Debug-Müll ist.


Bei Langsamkeit mit Firefox, auch beim Start, würde ich mehrere Dinge 
versuchen:

1. Mit neuem Benutzer und *leerer* Firefox-Konfiguration, oder zumindest mit 
neuen Profil versuchen. Profilmanager. Ich mit -P oder --ProfileManager 
funktioniert hier aber in Sid mit Firefox 54 aber gerade Beides nicht. Leerer 
Benutzer startet Firefox auch ohne Addons, es sei denn diese sind z.B. als 
xul-ext-Debian-Pakete systemweit installiert.

2. Eventuell – keine Aussicht auf Erfolg – die sqlite-Datenbank im Profil 
optimieren:

# cat Datenbank-aufräumen.txt 
http://www.commandlinefu.com/commands/view/3277/cleanup-firefoxs-database.

Cleanup firefox's database.

find ~/.mozilla/firefox/ -type f -name "*.sqlite" -exec sqlite3 {} VACUUM \;

Vorher Backup machen, sollte aber problemfrei gehen. Und könnte auch eine 
Dateifragmentierung reduzieren, da sqlite3 da, denke ich, die Datenbank 
einfach neu schreibt (ohne bereits als gelöscht markierte, aber nicht 
tatsächlich gelöschte Datensätze)

3. Hauptspeicher hast Du genug?

4. SSD einbauen :) Hier startet Firefox in ca. einer Sekunde mit folgenden 
Addons (Start mit warmgelaufenen Caches):

martin@merkaba:~> apt-show-versions | grep xul-ext
xul-ext-cookie-monster:all/sid 1.3.0.5-1 uptodate
xul-ext-debianbuttons:all/sid 1.11-3 uptodate
xul-ext-https-everywhere:all/sid 5.2.8-1 uptodate
xul-ext-kwallet5:amd64/sid 1.1-1 uptodate
xul-ext-kwallet5:i386 not installed
xul-ext-self-destructing-cookies:all/sid 0.4.12-1 uptodate
xul-ext-treestyletab:all/sid 0.18.2016111701-1 uptodate
xul-ext-ublock-origin:all/sid 1.12.4+dfsg-1 uptodate

16 GiB RAM, Sandybridge i5 Mobil-CPU, Dual SSD BTRFS RAID 1.

Wobei kwallet5 zur Zeit deaktiviert ist, da es abstürzt.

Adios,
-- 
Martin


Reply to: