Pamięć odzyskana – rzecz o optymalizacji Ubuntu 16.04
Wszyscy mamy nowoczesne komputery z niebotyczną ilością megabajtów pamięci RAM na pokładzie. No chyba, że ktoś ma zaledwie 2 lub 4GB, wtedy okazuje się, że najnowsze Ubuntu 16.04 w wersji Unity/GNOME może sprawić mu niemiłą niespodziankę. Zgodnie bowiem z teorią ewolucji, wszystkie komponenty naszego systemu stają się szybsze, ładniejsze, automatycznie inteligentne i smuci tylko jeden fakt – większość z nich nadal pozostaje totalnie niezoptymalizowanym kawałkiem kodu. Pamiętacie czasy, gdy Ubuntu z Unity zajmowało 400 – 500MB pamięci RAM? Pora przełożyć kartkę w kalendarzu na ścianie, gdyż te czasy już minęły. Najnowsza odsłona Ubuntu 16.04 potrafi zagarnąć na swoje potrzeby od 800 do 1GB pamięci RAM. Co więcej, po starcie tendencja pożerania RAMu się utrzymuje i jeżeli mamy „zaledwie” 2GB to komfort pracy zaczyna schodzić na dalszy plan naszych prób okiełznania systemu.
Co odpowiada za taki stan rzeczy? Oczywiście postęp. Ale wystarczy szybki rzut okiem na listę aktualnych procesów i programów startowych, aby zauważyć dwie kwestie. Po pierwsze, programy startowe zostały skrzętnie ukryte przed naszą krytyczną oceną. Aby je ujawnić na nowo, należy wykonać polecenie:
sudo sed -i 's/NoDisplay=true/NoDisplay=false/g' /etc/xdg/autostart/*.desktop
Potem jest już łatwiej, bo aktywujemy Dasha (lub inne menu) i odnajdujemy Programy Startowe. W przywołanym oknie ujrzymy listę programów, które są „systemowe” i uruchamiane przy każdym naszym zalogowaniu. Jeżeli jednak skojarzymy niektóre nazwy i dane jest nam szczęście posługiwania się w pełnym wymiarze naszym wzrokiem/słuchem/palcami, możemy wyłączyć niektóre z technik wspomagających osoby niepełnosprawne. Spokojnie możemy z list odznaczyć Accessibility Profile Manager Indicator, Onboard, Orca Screen Reader. Niby niewiele, ale w ogólnym rozliczeniu przyczyni się i do szybszego startu systemu i zaoszczędzenia kilku megabajtów więcej.
To dopiero czubek góry ułatwiających nam życie dodatków. Przyglądając się liście działających procesów, zauważymy swojsko brzmiące nazwy „evolution-*” oraz „gnome-software”. Zastanawiające jest to szczególnie wtedy, gdy nie mamy uruchomionego menadżera oprogramowania oraz nie korzystamy (w ogóle) z programu pocztowego Evolution. Co te procesy robią w pamięci naszego komputera? Cóż, ujmując rzecz dyplomatycznie – działają z wyprzedzeniem i w oczekiwaniu na naszą chęć skorzystania z ich możliwości. Nie przeszkadza im to okupować niemal 300 i więcej megabajtów.
#~$ ps -eo rsz,comm |egrep ‘gnome-software|evolution’ | sort -n
19464 evolution-addre
19840 evolution-addre
27652 evolution-sourc
50240 evolution-calen
51028 evolution-calen
60012 evolution-calen
93360 gnome-software
Takie zachowanie tych komponentów doczekało się już bardziej dosadnej nazwy i otrzymało status oficjalnego błędu, który od jakiegoś czasu widnieje na Launchpadzie. Bo w miarę korzystania z komputera, te procesy potrafią „puchnąć” jeszcze bardziej i jeszcze bardziej uniemożliwiać nam wydajną pracę. Niemniej, jeżeli potrafimy się obyć bez graficznego menadżera oprogramowania, możemy usunąć Gnome-software i/lub zainstalować w jego miejsce stary dobry Synaptic. Trefne procesy evolution-* służą do synchronizowania naszego kalendarza i innych usług oferowanych przez Google (książka adresowa). Jeżeli nie zamierzamy korzystać z takiej funkcjonalności, możemy te programy… No właśnie, nie odinstalować, bo to są mocne zależności dla środowiska GNOME (paczka evolution-data-server i evolution-data-server-common). Dlatego póki co, najskuteczniejszym sposobem jest uniemożliwienie im wystartowania. Czy to przez usunięć, czy też przez zmianę nazwy – ale można to zrobić mniej więcej w ten sposób:
sudo mv /usr/share/dbus-1/services/org.gnome.evolution* /var/backups/
Tym oto harcerskim sposobem pozbyliśmy się natrętów (zawsze można przywrócić te usługi kopiując je z powrotem z /var/backups/ do /usr/share/dbus-1/services/).
Co nam to wszystko dało i czy w XXI wieku warto bawić się w takie optymalizacje? To już musimy zadecydować osobiście. Na mojej instalacji Ubuntu udało się w ten sposób zmniejszyć zużycie pamięci z początkowych 900MB do 490MB. Różnica jest jednak spora i o ile nie posiadamy 8GB – 16GB na pokładzie (co też po pewnym czasie może być za mało), warto rozważyć samodzielne poprawki w systemie.