Önyükleme süresinin iyileştirilmesi, hizmetin devre dışı bırakılması / yönetilmesi ile yakından ilgilidir, ancak mevcut cevaplar, kullanılan hizmetlerin devre dışı bırakılmasında detaylardan yoksundur systemd
.
Systemd nedir?
Kısacası, systemd, Linux için SysV ve LSB init betikleriyle uyumlu bir sistem ve servis yöneticisidir. Bu konuda daha fazla resmi proje sayfasından okunabilir .
Hangi servislerin daha fazla zaman aldığını kontrol edin
Hangi servisin çoğu zaman aldığını kontrol etmek için aşağıdaki komutu kullanın.
systemd-analyze blame
Önyükleme sırasında servislerin otomatik başlatılmasını devre dışı bırakma
Önyükleme sırasında servislerin otomatik başlatılmasını devre dışı bırakmak istiyorsanız, aşağıdaki komutu kullanabilirsiniz.
sudo systemctl disable some-time-eater-service.service --now
Ancak, söz konusu hizmete başka hangi servislerin ihtiyaç duyduğunu görmek isteyebilirsiniz. Kontrol etmek için aşağıdaki komutu kullanın
systemctl list-dependencies some-time-eater-service.service --reverse
Not: some-time-eater-service.service
Gerçek servis ismiyle değiştirin postgresql@9.5-main.service
.
Otomatik başlatmanın devre dışı bırakılmasının bir servisi başlatılamaz hale getirmediğini unutmayın. Gereksinim ortaya çıktığında servis önyüklemeden sonra başlatılabilir. Tamamen devre dışı bırakmak istiyorsanız, bir sonraki bölümü okuyun.
Hizmetleri tamamen devre dışı bırakmak.
Bir hizmeti tamamen başlatılamaz hale getirmek mask
için devre dışı bırakmak istiyorsanız , devre dışı bırakmak yerine kullanmalısınız . Bunun gibi, böyle
sudo systemctl mask <SERVICE-NAME>
<SERVICE-NAME>
Bir servisin gerçek ismiyle değiştirin.
Maske mask
ve disable
maske arasındaki fark , bir servisi tamamen devre dışı bırakır, başlatamazsınız. Systemdunmask
ile başlamanız gerekir (yine de ile başlayabilirsiniz ). Ancak bir hizmetin otomatik başlatılmasını devre dışı bırakmanız yeterlidir, daha sonra başlatabilirsiniz.service
disable
Örneğin, postgresql@9.5-main.service
servisimi maskelendikten sonra , başlatmak istediğimde systemctl
aşağıdaki mesajla
Failed to start postgresql@9.5-main.service: Unit postgresql@9.5-main.service is masked.
GUI Aracı
Özellikle ilginç bulduğum bir GUI Aracı systemd-manager
şu anda geliştirme aşamasında ve Resmi Ubuntu deposuna gidemedi. Ancak, Systemd-Manager'ın github sayfasından çok kolay bir şekilde kurabilirsiniz . Sürümler, kurulumu çok kolay bir .deb paketi içeriyor. Gerçi GTK-3.16 veya üstü gerekir.
Bir kere indirip kurduktan sonra systemd-manager
komut ile başlatabilirsiniz . Başlat.
Uygulama iki ana görünüme sahiptir. Bunlardan biri Systemd Units ve diğeri Systemd Analyse . Sol üst köşedeki etiketle değiştirebilirsiniz. Ekran görüntüsüne bakınız.
Ve yönetebileceğiniz üç tür birim var. Servisler , Soketler ve Zamanlayıcılar . Aralarında geçiş yapabilirsiniz. Ekran görüntüsüne bakınız.
Bilgi gösteriliyor
Üç ana sekme Dosya , Dergi , Bağımlılıklar'dır .
- Dosyalar seçilen ünitenin yapılandırma dosyasıdır.
- Günlük, birimlerin etkinleştirilmesi / devre dışı bırakılması / başlatılması / durdurulması sırasında canlı sistemin çıktısıdır
- Bağımlılıklar, seçili bir servisi başlatmak için başka hangi servislerin veya birimlerin etkinleştirilmesi gerektiğini gösterir.
Durum Göstergeleri
Durumu belirtmek için birimlerin adının yanında iki sütun vardır. Sol olanı, birimin önyüklemede başlatılıp başlatılmadığını gösterir ve sağ taraf o birimin çalışıp çalışmadığını gösterir. Resimde onları görün.
Kontrol Anahtarları
Açılışta etkin ya da çalışır durumda olmak için Google’ın sağ üst köşesinde iki tane Google düğmesi bulunur.
Etkin , birimlerin başlayacağı ve önyükleneceği anlamına gelir. Resimde onları görün.
Uygulamanın tam görünümü aşağıda gösterilmiştir
Umarım bu yardımcı olur. Systemd hakkındaki diğer cevaplardan faydalanıyorum, ancak bilgiyi tek bir yerde toplamam gerekiyordu.
Daha fazla bilgi :
Hakkında daha fazla bilgi edinmek için systemd
bu bağlantıları ziyaret edebilirsiniz:
Diğer cevapların farklı önerileri var. SSD satın almak, RAM'i arttırmak vs. dahil
systemd
(15.04 IIRC'den beri) kullanan sistemler ,systemd-analyze
hangi işlemin ne kadar sürede başlayacağını analiz etmenize yardımcı olacak araçla birlikte gelir . Tümman systemd-analyze
seçenekleri öğrenmek için bakın , muhtemelen en çok kullanacağınız açıksystemd-analyze blame
.