Klątwa Akonadi
Nazwa „Akonadi” powinna stać się synonimem przekleństwa, złych mocy i czeluści piekielnych. Ten skądinąd wpadający w ucho niepozorny zlepek liter stał się powodem dla którego eleganckie środowisko KDE zyskało złą sławę i prasę za sprawą użytkowników, którym Akonadi po cichu dało w kość. Problem z nim na pierwszy rzut oka jest bowiem niezauważalny. KDE w całym swoim majestacie dostarcza wszystkiego, co powinno dostarczać użytkownikowi nowoczesne rozwiązanie na nowoczesne pecety – otrzymujemy zgrabne tematycznie środowisko, ładny panel sterowania, efektowne opcje konfiguracyjne i na koniec integrację naszych kontaktów, plików, wiadomości, spotkań i wydarzeń w jednym rozbudowanym „podsystemowym” frameworku Akonadi. Teoretycznie. Bo jeżeli nawet komuś to działa, to nie jest on świadom jakim kosztem.
Akonadi jest usługą przechowywania oraz zarządzania informacjami osobistymi (PIM), danymi i metadanymi. Jest to jeden z “filarów” (core technologies) projektu KDE4, jednak jest ona przeznaczona do stosowania z każdym środowiskiem graficznym.
Akonadi ma docelowo służyć jako rozszerzalna aplikacja do przechowywania danych dla wszystkich aplikacji PIM. Oprócz przechowywania danych, Akonadi ma kilka innych funkcji, m.in. wyszukiwanie bibliotek (cache) w celu ułatwienia dostępu oraz zgłaszanie zmiany danych.
Na dobrą sprawę nie jestem aż takim uważnym kontestatorem KDE, aby obiektywnie ocenić kiedy od 2006 roku Akonadi działało poprawnie. Z pewnością urażam też osoby, którym wspomniana funkcjonalność działa pomimo narzutu jaki generuje. A to właśnie kwestia wydajności przywarła do KDE jak zły szeląg. Środowisko to od dawien dawna zmaga się z opinią ciężkiego, zasobożernego i zasadniczo – dla fascynatów marki. Nie muszę dodawać, że to ogromnie krzywdzące uogólnienie. Liczby? Proszę bardzo.
Po świeżej instalacji Kubuntu 16.04 i po paru ruchach myszką moją uwagę zwrócił przepadek niemal 1.2GB pamięci RAM. Gdy dobrze policzyłem, okazało się, że to nie osławiona pamięć podręczna pożarła te gigabajty, a MySQL do spółki z Akonadi. Proces MySQL radośnie zawinął pod siebie około 820MB, podczas gdy osiem (?) elementów składowych Akonadi zajęło po 15 – 25MB każdy. „Pierwsze koty za płoty” pomyślałem w całej swojej naiwności i uruchomiłem ponownie komputer. Było nieco lepiej, 180MB dla MySQL, reszta bez zmian. Po próbie ustawienia programu KMail i zsynchronizowaniu go z moimi kontami pocztowymi, MySQL ponownie stwierdził, że potrzebuje więcej pamięci. O wiele więcej.
Indywidualna histeria połączona z ostracyzmem? Nie sądzę. Sieć jest pełna utyskiwania na zachowanie Akonadi, a może nie tyle zachowanie, co jego sposób gospodarowania naszymi zasobami. Co więcej, teoretyczna możliwość skorzystania z lżejszego SQLite jest teoretyczna. Użytkownikom znikają megabajty pamięci, frustracja rośnie a cały system staje się maleńkim dodatkiem do Akonadi wszechobecnego w każdym megabajcie pamięci.
„Konfiguracja głupcze!” zakrzykną zwolennicy informacji o urodzinach i ostatecznej daty wyrzucenia choinki na śmietnik. Niestety, nie takich numerów próbowano z Akonadi. Przełączenie się z MySQL na SQLite?
kedit ~/.config/akonadi/akonadiserverrc
… i wstawienie / zmiana na:
[%General]
Driver=QSQLITE3
[QSQLITE3]
Name=~/.local/share/akonadi/akonadi.db
… nie u każdego zda egzamin. Optymalizacja MySQL? No dajmy spokój, czy tworzymy „rocket science” czy po prostu chcemy używać komputera do codzienny obowiązków? Nie pozostaje zatem nic innego jak wyłączenie Akonadi (powtarzam, jeżeli komuś ono uwiera). A i to zadanie nie jest takie proste jakby się wydawało. Możemy bowiem edytować wspomniany plik ~/.config/akonadi/akonadiserverrc i zamienić:
StartServer=true
… na:
StartServer=false
Ale i to nie gwarantuje do końca sukcesu, jeżeli mamy uruchomione jakiekolwiek usługi korzystające z Akonadi (KMail, spotkania w kalendarzu, zegar na pulpicie, itp.). Trzeba niestety być uważnym.
Na koniec krótkie podsumowanie. System z uruchomionym nadzorem ze Akonadi i MySQL zajmował w wariancie optymistycznym 610MB pamięci RAM. Po zablokowaniu usługi – 325MB. Warto? Nie warto? Pozostawiam do samodzielnego rozpatrzenia. Ale niech nikt potem nie narzeka, że KDE się ślamazarzy.