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:

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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.
  6. 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.
  7. 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.
  8. 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.
  9. 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.
  10. 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.