Výkon a hlavně paměťová náročnost GNOME byly v poslední době předmětem kritiky. Tento týden se proto v Cambridge ve Velké Británii konal hackfest, který měl za cíl zlepšit výkon na GNOME postavených systémů na slabších počítačích. Vzhledem k tomu, že se hackfestu účastnil také Fedora Hardware Enablement Team a další vývojáři Red Hatu, pozornost ve velké míře patřila Fedora Workstation. Pojďme se podívat, co vývojáři přišli.
Hans de Goede analyzoval spotřebu paměti jednotlivých komponent ve Fedora 28 Workstation na stroji s 2 GB RAM:
- GDM nechává běžet extra instanci GNOME Shellu i po přihlášení. Workaround: používat automatické přihlášení. Řešení: Patch na ukončení instance, když se uživatel přihlásí. Dopad na paměť: dostupná paměť se zvýšila z 600 na 880 MB.
- GNOME Software vždy běží v paměti, i když je automatické stahování aktualizací a vyhledávání aplikací v Shellu vypnuté. Workaround: rm /etc/xdg/autostart/gnome-software-service.desktop. Řešení: vývojář Software pracuje na opravě. Dopad na paměť: 880->1075 MB.
- PackageKit běží na pozadí, i když neběží GNOME Software a potřebuje ho pouze dialog "Restartovat a nainstalovat aktualizace". Workaround: systemctl mask packagekit.service. Dopad na paměť: 1075->1080 MB.
- Běží abrt-applet, i když uživatel neodsouhlasil odesílání informací o pádech. Workaround: dnf remove abrt-gui. Dopad na paměť: 1080->1086 MB.
- Běží 4 démony ABRTu, včetně jednoho pro pády Xorg, i když se ve výchozí instalaci používá Wayland. Workaround: dnf remove 'abrt*'. Dopad na paměť: 1086->1096 MB.
- Evolution a jeho služby běží, i když není nastavený žádný účet. Workaround: rm /etc/xdg/autostart/org.gnome.Evolution-alarm-notify.desktop a vypnout vyhledávání v kalendáři a kontaktech. Řešení: bug 793031. Dopad na paměť: 1096->1123 MB.
- gnome-shell-calendar-server běží, i když není nastavený žádný účet. Workaround: rm /usr/libexec/gnome-shell-calendar-server. Dopad na paměť: 1123->1195 MB.
- libvirt vždy běží, i když nebyly vytvořené virtuální stroje a Boxy spuštěné. Workaround: systemctl disable libvirtd.service. Dopad na paměť: 1195->1214 MB.
- firewalld běží, i když není jako démon ve výchozím systému nijak používaný. Workaround: dnf remove firewalld. Dopad na paměť: 1214->1235 MB.
- journal vytváří velké soubory logů a mmapuje celý soubor. Workaround: sed -i 's/#SystemMaxUse=/SystemMaxUse=50M/' /etc/systemd/journald.conf or set SystemMaxFileSize=10M. Dopad na paměť: 1235->1240 MB.
Hans byl schopen těmito 10 kroky snížit spotřebu paměti na počítači s 2 GB RAM z 1,4 GB na 765 MB. Tato zjištění poslouží vývojářům k tomu, aby spotřebu paměti Fedora Workstation co nejvíce optimalizovali pokud možno bez dopadu na funkcionalitu. Můžou ale také posloužit jako návod pro ty, kteří provozují Fedora Workstation na počítači s menší kapacitou paměti a chtěli by, aby systém běžel úsporněji i za cenu omezení některé funkcionality.
Mezi dalšími věcmi Hans navrhuje zapínat na počítačích s menší pamětí zRam, což je metoda, která ukládá nepoužívané stránky v komprimované podobě do paměti místo do odkládacího prostoru na disku. Používá to EndlessOS a ChromeOS a údajně to má citelný pozitivní dopad na výkon.
Kromě spotřeby paměti se řešil také grafický výkon GNOME. Kompletní seznam bodů, které vývojáři probírali, naleznete na wiki stránce hackfestu.
17. 5. 2018 at 22:02
Diky za shrnuti. Ten poslendi jsem neznal! A ty ostatni jsou snad povinnosti kazdyho starsiho HW odstranit hned po installu, zakazat v yum.conf a uz nikdy o nich nevedet…. bohuzel :(teda pokud nejsou potreba na to k cemu to pc mame:)
Inac vsechny tyhle veci by mel fedori instalator nabizet k disable. Myslim ze njsem jediny kdo by to ocenil. Tohle bylo super v rhelu 5. tam byly instalacni skupiny velmi granulovane a clovek nainstaloval co potreboval tak presne, ze nemusel nic odinstalvavat. On nakonec i RHEL6 tohle delal celkem dobre, ale skupiny uz byly vetsi. A rhel7 to docela povoral:( Ale rhel7 ma uplne jiny usecase. A jeho cilem rozhodne neni stary komp:)
Toz ze by sla fedorka zase prikaldem?
17. 5. 2018 at 23:36
mozno to nevyznie velmi konstruktivne, ale ked mate 2GB RAM tak skuste z gnome prejst na xfce
18. 5. 2018 at 15:36
Ale ne. Tohle JE konstruktivní. KDE a Gnome III jsou proste molochy all in one. POkud necches all in one ze ktereho odebiras, tak si dej mate/xfce/..openbox/fluxbox 🙂 a pridaej…
Je treba tyo obcas lidem pripomenout.
18. 5. 2018 at 10:04
Takto vypada system u mne po 12ti dnech:
„`
~/D/f/f/fop $ uptime
10:02:23 up 12 days, 12:30, 1 user, load average: 0.58, 0.34, 0.36
~/D/f/f/fop $ ps -eo pid,rss,comm –sort=-rss | head -n 20
PID RSS COMMAND
4802 631716 gnome-shell
18759 385824 atom
14512 343348 packagekitd
23274 319780 chrome
22014 307920 slack
25380 297116 chrome
9801 293484 chrome
8663 280508 gnome-documents
2187 269140 gnome-software
„`
Restart pres `r` srazil gnome-shell zpet na 170MB, typy na package kit a dalsi prijdou velmi vhod. Bude supr, az to Fedora dotahne do konce a bude to optimalizovane, drzim palce.
18. 5. 2018 at 10:26
Jeste bych dodal, ze napriklad v Chrome (pres shift+esc) mi extension Fedora User Agent bere cca 40MB.
18. 5. 2018 at 16:32
To musí být nějaká režie rozšíření Chromu. Ten kód je naprosto triviální, to samo o sobě nemůže nijak leakovat. Dnes jsme tam odstranili ten dvoupoložkový blacklist domén, který už není potřeba, takže by to mělo být ještě jednodušší.
23. 5. 2018 at 16:14
# ps -eo rss,comm –sort=-rss | head -n 10
RSS COMMAND
443652 chrome
434504 chrome
370532 chrome
335932 chrome
333072 chrome
267572 sublime_text
192924 xfdesktop
178692 chrome
140176 chrome
# ps -eo rss,comm –sort=-rss | grep -v chrome | head -n 10
RSS COMMAND
267572 sublime_text
192924 xfdesktop
121624 Xorg
80640 pidgin
77592 systemd-journal
64972 plugin_host
52140 pragha
42580 xfce4-terminal
42156 panel-18-xkb
;o)
# ps -eo rss,comm –sort=-rss | grep xf | head -n 10
192924 xfdesktop
42580 xfce4-terminal
26552 xfce4-panel
19876 xfwm4
12564 xfce4-notifyd
11568 xfce4-power-man
7388 xfsettingsd
6916 xfce4-session
3008 xfce-polkit
1788 xfconfd
;oP
18. 5. 2018 at 23:40
Uz len prepisat vsetky JS aplikacie do C, a zrazu bude menej garbage v pamati, menej roboty na pocitanie a viac volneho casu 🙂 mensia spotreba elektriky, zelensi svet.
19. 5. 2018 at 14:09
Takove clanky mi vzdycky zpusobi nostalgickou naladu a vzpominky na muj prvni linuxovy (CD s redhatem v hnede knize od cpressu to byl rok 1999 IIRC) pocitac s 16GB ram 🙂
Tohle pisu na mobilu s … 6GB RAM 😉
19. 5. 2018 at 14:09
16 MB samozrejme 😉