systemd: start w mniej niż 2 sekundy

systemd: start w mniej niż 2 sekundy

przez -
14 728
Linux Tux

Lennart Poettering, autor projektu systemd ogłosił publikację pierwszej wersji dokumentu, która zawiera dobre rady pozwalające zmniejszyć czas ładowania systemu w przestrzeni użytkownika do poniżej dwóch sekund. Systemd jest menadżerem usług w Linuksie, kompatybilnym ze skryptami SysVinit oraz Linux Standard Base. Jego największymi zaletami są: możliwość równoległego uruchamiania usług, śledzenie działania procesów przy pomocy cgroups, uruchamianie usług na żądanie, utrzymanie punktów montowania i automatycznego montowania w systemie oraz implementuje transakcyjną, opartą na zależnościach, logikę kontroli usług.

Aby przyśpieszyć start urządzenia, użytkownik powinien:

  • Upewnić się czy system nie używa fałszywych bloków urządzeń magazynujących jak LVM
  • Rozważyć ominięcie initrd, jeśli owego używa
  • Rozważyć wyłączenie SELinux (portal zaleca wyłączenie tylko w systemach desktop) i przeprowadzenie audytu. Wyłączenie tej funkcji pozwoli zaoszczędzić 100ms
  • Rozważyć wyłączenie Plymouth poprzez ustawienie wartości plymouth.enable=0 w wierszu poleceń jądra
  • Rozważyć wyłączenie syslog. Dziennik systemowy i tak jest używany na nowszych wersja systemd, więc można usunąć wszystkie implementacje syslog, a journalctl nadal będzie tworzyć idealne wpisy w /var/log/messages message log
  • Rozważyć maskowanie wielu bezrobotnych skryptów startowych pochodzących od dystrybucji, które sztucznie spowalniają bootowanie
  • Zastąpienie crona przez systemd timer units (na razie tylko do uruchamiania nieszczegółowych czasowo usług)
  • Upewnić się, że Linux posiada sterowniki, których potrzebuje i żadnych innych
  • Używać nowoczesnego systemu, który nie zawiera ConsoleKit (np. GNOME 3.4)
  • Usunąć lokalny MTA (Mail Transfer Agent), czyli serwer poczty elektronicznej
  • Kompilować aplikacje z rozwagą, gdyż różne komponenty w systemd są opcjonalne i można je wyłączyć (np. jeśli jesteś jedynym użytkownikiem, wyłącz logind)
  • Uruchomić systemctl, wyłączyć wykryte zbędne usługi i usunąć niepotrzebne paczki