Belge

Linux: Yavaş Önyükleme Sorunları Nasıl Düzeltilir

Linux sisteminizin açılması çok uzun mu sürüyor?
Yavaş bir başlatma zamanınızı boşa harcayabilir ve sabrınızı sınayabilir. İyi haber şu ki Linux, yavaş önyükleme sorunlarını bulmanıza ve düzeltmenize yardımcı olan yerleşik araçlar içerir.

Bu basit kılavuzda, sisteminizi hangi hizmetlerin geciktirdiğini bulmak için systemd-analyze komutunu nasıl kullanacağınızı öğreneceksiniz. Neyin işleri yavaşlattığını öğrendikten sonra, Linux önyükleme sürecini hızlandırmak için gereksiz hizmetleri güvenli bir şekilde devre dışı bırakabilirsiniz.

Linux’um Neden Bu Kadar Yavaş Açılıyor?

Modern Linux sistemlerinde, systemd (sistem ve servis yöneticisi) bilgisayarınız önyüklendiğinde her şeyi başlatır. Servisler adı verilen birçok küçük programı çalıştırır. Bazıları hızlı biter, diğerleri daha fazla zaman alır.

Linux sisteminizin yavaş açılmasının bazı yaygın nedenleri şunlardır:

  • Önyükleme sırasında çok fazla hizmet başlatılıyor (örneğin Bluetooth, yazıcılar, VPN’ler).
  • Ağ gecikmeleri(İnternet bağlantısı bekleniyor). Bazı servisler devam etmeden önce ağ bağlantısı bekler.
  • Yavaş donanım(eski sabit diskler, düşük RAM).

Bunlar aklıma gelenlerden sadece birkaçı. Elbette, yavaş başlatmalara neden olabilecek birçok şey (hem yazılım hem de donanım) vardır.

Çoğu Linux sisteminde yerleşik olarak bulunan systemd-analyze aracını kullanarak yazılım kaynaklı yavaşlamaları gidermeye odaklanacağız.

systemd-analyze nedir?

systemd-analyze, sisteminizin önyükleme performansını anlamanıza yardımcı olan bir komut satırı aracıdır. Sistem başlatma, hizmetler ve kapatmayı yöneten yazılım olan systemd ile çalışır. Bu araç, önyükleme sürecinin farklı bölümlerinin ne kadar sürdüğünü gösterir ve gecikmeleri tespit etmenize yardımcı olabilir.

Birkaç alt komut içerir. Bu kılavuzun amacı doğrultusunda, aşağıdaki alt komutların kullanımını öğreneceğiz:

  • time: Toplam önyükleme süresini ve aygıt yazılımında, önyükleyicide, çekirdekte ve kullanıcı alanında harcanan süreyi gösterir.
  • blame: Hizmetleri başlama sürelerine göre sıralar.
  • critical-chain: Hangi hizmetlerin diğerlerini geciktirdiğini gösterir.
  • plot: Önyükleme işleminin görsel bir SVG grafiğini oluşturur (daha derin inceleme için yararlıdır).

Adım 1: Önyükleme Sürenizi Kontrol Edin

Linux üç temel aşamada önyüklenir:

  1. Firmware Phase (BIOS/UEFI)
  2. Kernel Initialization
  3. Userspace Startup (en çok gecikmenin yaşandığı yer)

Her fazda harcanan zamanı görmek için bu komutu çalıştırın:

systemd-analyze time

Şuna benzer bir şey göreceksiniz:

Startup finished in 17.855s (firmware) + 7.320s (loader) + 4.004s (kernel) + 12.167s (userspace) = 41.347s 
graphical.target reached after 12.153s in userspace.
  • Kernel time = Donanım kurulumu zamanı (genellikle hızlı)
  • Userspace time = Uygulamaların ve hizmetlerin yüklenmesi için zaman (yavaşlamaların yaşandığı yer)

Eğer kullanıcı alanınızda geçirdiğiniz süre 10 saniyeden uzunsa, muhtemelen hızlandırabilirsiniz.

Adım 2: En Yavaş Hizmetleri Bulun

systemd-analyze blame komutu, her bir servisin başlatma sırasında ne kadar sürdüğünü gösterir. Bu, hangilerinin işleri yavaşlattığını bulmanıza yardımcı olur.

Hangi servislerin en fazla zaman aldığını görmek için bu komutu çalıştırın:

systemd-analyze blame

Bu komut her bir servisin başlamasının ne kadar sürdüğünü gösterecektir.

Örnek çıktı (önce en yavaş servisler):

4.316s NetworkManager-wait-online.service
1.629s fwupd.service
1.612s networking.service
1.609s systemd-modules-load.service
1.174s ifupdown2-pre.service
1.164s systemd-udev-settle.service
 669ms [email protected]
 661ms dev-nvme0n1p2.device
 613ms vboxdrv.service
 490ms [email protected]
 430ms systemd-udev-trigger.service
 414ms blueman-mechanism.service
 368ms systemd-journal-flush.service
 269ms udisks2.service
 200ms accounts-daemon.service
 169ms ModemManager.service
 165ms systemd-logind.service
 157ms polkit.service

Çıktıda da görebileceğiniz gibi uzun olanlar en üstte.

Her hizmeti dikkatlice kontrol edin. Belirli bir hizmetin ne işe yaradığını bilmiyorsanız, kullanımını öğrenmek için hızlı bir web araması yapın. Belirli bir hizmetin gerekli olmadığını düşünüyorsanız, onu devre dışı bırakabilirsiniz.

Derin Analiz

Ayrıca, hangi servislerin diğerlerini geciktirdiğini göstermek için systemd-analyze critical-chain komutunu da kullanabilirsiniz:

systemd-analyze critical-chain

Başkalarının başlamasını engelleyen servisleri bulmanıza yardımcı olur.

Linux önyükleme süreciniz için görsel bir zaman çizelgesi oluşturmak istiyorsanız şunu çalıştırın:

systemd-analyze plot > boot.svg

Temel analiz için, bariz yavaşlamaları tespit etmek için sadece blame’i çalıştırın. Derin analiz için critical-chain veya plot kullanın.

En Yavaş İlk On Hizmeti Göster

Varsayılan olarak, systemd-analyze komutu sonucu sayfa sayfa görüntüler. ENTER tuşuna basarak sonuçlar arasında gezinebilirsiniz.

Belirli sayıda hizmeti görüntülemek istiyorsanız, sonucu head komutuna yönlendirebilirsiniz. Örneğin, en yavaş hizmetleri gösteren ilk on hizmeti görüntülemek için şunu çalıştırın:

systemd-analyze blame | head -n 10

Adım 3: Yavaş  Önyükleme Sorunlarını Düzeltmek İçin Gereksiz Hizmetleri Devre Dışı Bırakın

Yavaş Linux önyüklemesine neden olan hizmetleri buldunuz, şimdi ne olacak? Bu sorunlu hizmetleri devre dışı bırakabilir veya optimize edebilirsiniz.

Bazı hizmetler (NetworkManager-wait-online gibi) önyükleme tamamlanmadan önce internet erişimini bekler. Buna ihtiyacınız yoksa, şu komutu kullanarak devre dışı bırakın:

sudo systemctl disable NetworkManager-wait-online.service

Bluetooth kullanmıyorsanız onu da devre dışı bırakabilirsiniz:

sudo systemctl disable bluetooth.service

Devre dışı bırakabileceğiniz diğer yaygın hizmetler şunlardır:

  • cups.service (if you don’t use printers)
  • snapd.service (if you don’t use Snap apps)

Yalnızca ihtiyaç duymadığınızı bildiğiniz hizmetleri devre dışı bırakın.

Uyarı: dbus, systemd-logind veya network-manager gibi kritik servisleri devre dışı bırakmayın.

Adım 4: İyileştirmelerinizi Kontrol Edin

Değişiklikleri yaptıktan sonra yeniden başlatın ve şunu çalıştırın:

systemd-analyze time
systemd-analyze blame

Yeni önyükleme süresini eskisiyle karşılaştırın. Fark edilir bir hızlanma görmelisiniz!

Bonus:  Önyüklemeyi Hızlandırmanın Daha Fazla Yolu

  1. Bir SSD kullanın (eğer hala sabit diskteyse)
  2. Başlangıç ​​uygulamalarını azaltın (Masaüstü ayarlarınızda Başlangıç ​​Uygulamalarını kontrol edin)
  3. Daha hafif bir Linux sürümü deneyin (örneğin Ubuntu yerine Lubuntu)

 

 

 

Yazının orijinalini buradan okuyabilirsiniz.