Wraz z rozwojem systemów operacyjnych, wiele z nich jest obciążonych rosnącą liczbą usług działających w tle. Chociaż usługi te mogą nie zużywać znacznych zasobów procesora, mogą znacznie wydłużyć czas rozruchu i zwiększyć wykorzystanie pamięci RAM. Systemy operacyjne typu open source dają jednak użytkownikom możliwość dostosowania konfiguracji poprzez wyłączenie lub usunięcie niepotrzebnych usług. Ten przewodnik wyjaśnia, jak zoptymalizować czas rozruchu systemu Linux poprzez wyłączenie zbędnych usług.
Ocena czasu obciążenia usługi
Większość dystrybucji Linuksa jest wyposażona w Systemd jako domyślny system init. Systemd zawiera przydatne narzędzie, które pozwala użytkownikom analizować czas trwania procesu rozruchu, a także czas potrzebny na uruchomienie każdej usługi. Należy pamiętać, że niektóre usługi są ładowane jednocześnie; dlatego całkowity czas rozruchu może nie być po prostu sumą czasów ładowania poszczególnych usług.
Aby rozpocząć, otwórz terminal i wprowadź następujące polecenie:
systemd-analyze

To polecenie pozwala zorientować się, ile czasu zajmuje zainicjowanie jądra Linuxa i kluczowych usług systemowych, ale nie bierze pod uwagę animacji pulpitu ani czasu ładowania aplikacji użytkownika.
Jeśli chcesz uzyskać szczegółowe informacje na temat czasu ładowania interfejsu graficznego, możesz użyć:
systemd-analyze critical-chain graphical.target

To polecenie ujawnia sekwencję usług prowadzących do graficznego celu. Choć jest to pomocne, oznacza to jedynie techniczny kamień milowy, ponieważ po osiągnięciu tego punktu mogą nadal być ładowane usługi działające w tle.
Na koniec, polecenie najbardziej istotne dla tego przewodnika brzmi:
systemd-analyze blame

To polecenie wyświetla usługi w kolejności czasu ich uruchomienia, umożliwiając identyfikację i wskazanie usług do wyłączenia. Możesz przewijać listę za pomocą klawiszy strzałek lub klawiszy PAGE UPi PAGE DOWN, a następnie nacisnąć q, aby wyjść.
Wyłączanie niepotrzebnych usług za pomocą Systemctl
Z przedstawionej analizy można wywnioskować, że niektóre usługi snapdładują się powoli, szczególnie na tradycyjnych dyskach twardych, gdzie opóźnienia mogą się znacznie kumulować.
Na przykład, jeśli okaże się, że snapdusługa odpowiedzialna za zarządzanie aplikacjami konteneryzowanymi nie jest Ci potrzebna, możesz ją wyłączyć, uruchamiając:
sudo systemctl disable snapd.service
Po wyłączeniu nadal można zaobserwować snapduruchamianie się programu w pewnych okolicznościach ze względu na funkcję aktywacji gniazda, która pozwala na uruchamianie go na żądanie niezależnie od stanu wyłączenia.
Aby dokładniej zbadać wszelkie pozostałe zależności, możesz wykonać:
systemd-analyze blame | grep snap

To polecenie wyróżni wszystkie komponenty związane z funkcją Snap, które w dalszym ciągu mają wpływ na czas uruchamiania.
Obsługa usług aktywowanych przez gniazdo
Wiele usług, w tym [usługa] snapd, korzysta z aktywacji gniazd. Taka konfiguracja umożliwia automatyczne uruchomienie usługi po otrzymaniu żądania komunikacji, nawet jeśli jest ona obecnie wyłączona.
Jeśli problem nadal występuje snapdpo ponownym uruchomieniu, takie zachowanie często wynika z powiązanych jednostek, takich jak snapd.socketlub snapd.seeded.service. W takich przypadkach zalecane jest całkowite zablokowanie usług poprzez maskowanie:
sudo systemctl mask snapd.service sudo systemctl mask snapd.socket
Maskowanie skutecznie uniemożliwia uruchomienie usługi. Należy jednak zachować ostrożność, zwłaszcza w przypadku dystrybucji wykorzystujących Snap do zarządzania systemem lub instalacji aplikacji.
Istnieje zasadnicza różnica między „wyłączaniem” a „maskowaniem” usług. Wyłączenie po prostu instruuje systemd, aby nie uruchamiał usługi automatycznie, podczas gdy maskowanie idzie o krok dalej i całkowicie blokuje jej działanie. Zazwyczaj wyłączenie jest wystarczające, ale maskowanie jest preferowane w przypadku usług, które nadal uruchamiają się ponownie pomimo wyłączenia.
Ponadto, wyłączając usługi, rozważ sprawdzenie innych mniej istotnych usług, które można bezpiecznie wyłączyć, takich jak:
avahi-daemon.service ModemManager.service thermald.service
Zawsze przeprowadzaj dokładne badania przed wyłączeniem usług, ponieważ usługa uznana za zbędną na komputerze stacjonarnym może być niezbędna w przypadku laptopów lub serwerów.
Wniosek
Zmniejszenie liczby zbędnych usług może znacznie skrócić czas rozruchu i zoptymalizować alokację zasobów, szczególnie w przypadku użytkowników tradycyjnych dysków twardych. Nawet w przypadku systemów opartych na dyskach SSD, minimalizacja liczby niewykorzystanych usług pomaga w utrzymaniu czystego i wydajnego środowiska operacyjnego.
Chociaż aplikacje graficzne, takie jak Stacer, mogą pomóc w zarządzaniu usługami systemowymi, mogą one ograniczać funkcjonalność lub stawać się przestarzałe. Aby zapewnić spójną kontrolę w praktycznie wszystkich dystrybucjach, narzędzie wiersza poleceń systemctl pozostaje najpewniejszym narzędziem.
Dodaj komentarz