blog · git · desktop · images · contact & privacy · gopher


GNOME/GTK – Willkommen bei Windows? – strace erhöre mich

Sorry, für den reißerischen Titel. Im Moment komme ich mir aber wirklich ein bisschen so vor, als säße ich vor einer Windows-Kiste mit typischen Windows-Problemen. :(

Mein Ubuntu wurde nämlich immer langsamer. Genauer gesagt: die meisten GNOME-Anwendungen. Man speichert in gEdit was und Eye of GNOME, file-roller, Nautilus und wie sie alle heißen "springen an" und produzieren 100% CPU-Last für einige Sekunden? Nanu? Was soll denn das? :mad:

Selbstverständlich existierte das Problem schon länger, aber ich hatte bisher nicht die Zeit, mich darum zu kümmern. Heute ist mir dann eigentlich so ein bisschen der Kragen geplatzt, aber ich habe auch erst heute wirklich mitgekriegt, dass die anderen Anwendungen alle "anspringen", wenn ich in gEdit was speichere - dachte vorher, das sei eine Macke von gEdit selbst.

Also gesucht. Alle fraglichen Programme horchen am DBus, aber in einer LiveCD-Session trat das Problem nicht auf. Vielleicht stimmte mit meiner DBus-Config etwas nicht? Fehlanzeige. Vielleicht ein Problem mit GNOME's VFS? Fehlanzeige.

Aber zum Glück ist man ja vergesslich. Folglich fiel mir erst nach 6-7 Stunden wieder das kleine Tool "strace" ein, was ich eigentlich schon seit fast 10 Jahren kenne, aber praktischerweise erfolgreich aus meinem Gedächtnis verdrängt habe. Hätte ich das direkt benutzt, wäre das Problem in 10 Sekunden erledigt gewesen...

Alle fraglichen Anwendungen behalten eine Liste der zuletzt geöffneten Dateien im Auge: ~/.recently-used.xbel. Diese war bei mir völlig überlaufen, stattliche 4MB. Scheinbar überwachen alle fraglichen Programme diese Datei (ich schätze mal, das ist ein Teil der GTK-Libs) und testen dann, sobald sie sich geändert hat, ob sich auch die in ihr aufgelisteten Dateien geändert haben. Logische Konsequenz bei einem solchen Trümmer von 4MB: Es dauert und braucht Leistung.

Tja, Datei umbenannt, Probleme weg. :doofgugg:

Wie kann die so sehr überlaufen? Sind bald auch tolle Tune Up Utilities für GNOME/GTK nötig, die man dann in tollen Zeitschriften anpreisen kann? :mad:

Wie auch immer, man kann die Geschichte dauerhaft, aber "hart und dreckig" abstellen:

rm ~/.recently-used.xbel
mkdir ~/.recently-used.xbel

Natürlich meckert GTK dann ständig an der Konsole, also ist das keine schöne Lösung. Aber es funktioniert...

– Nachtrag:

Wenn man weiß, wonach man suchen muss, findet man's natürlich sofort. Hier noch ein ausführlicherer Bericht dazu:

http://blog.buttermountain.co.uk/2008/03/31/high-cpu-usage-from-eog-gnome-panel-blame-gtks-recent-manager/