Ubuntu 16.04 ile açılışımı hızlandırmak için ne yapmam gerektiğini anlamaya çalışıyorum. Dmesg'i çalıştırdım ve çıktıyı buraya kaydettim . Her şey yaklaşık 10 saniye sonra yanlış gidiyor gibi görünüyor.
Ubuntu 16.04 ile açılışımı hızlandırmak için ne yapmam gerektiğini anlamaya çalışıyorum. Dmesg'i çalıştırdım ve çıktıyı buraya kaydettim . Her şey yaklaşık 10 saniye sonra yanlış gidiyor gibi görünüyor.
Yanıtlar:
Systemd ile en çok neyin zaman aldığını bulmaya çalışabilirsiniz.
systemd-analyze blame
/ Etc / fstab'ın takas alanının UUID'sini düzenleme (çıktısını eşleştirmek için sudo blkid
) bir cazibe gibi çalıştı!
Not : Bundan sonra, /etc/crypttab
dosyada herhangi bir takas girişi varsa, ikinci parametresini takas alanınızla eşleşecek şekilde UUID veya yolla değiştirmelisiniz (örn. UUID = bir şey veya / yol / to / takas).
SSD'mde önyükleme 2 dakikadan 10 saniyeye düşürüldü.
Mesele şu ki, bu sorun başladığında 14.04'ten 16.04'e normal bir yükseltme yaptım, bölümlerle uğraşmadım. Açıkça yükseltme prosedürüyle ilgili bazı sorunlar var.
Yükseltmeden sonra daha uzun önyükleme süresinde benzer bir sorunla karşılaştım.
Problem neydi? Takas alanımı sildim, bu yüzden / etc / fstab dosyam ve yeni dosya sistemimde çakışma oldu. Boot yükleyici onu bulmak için neredeyse 1 milyon 30 saniye bekledi.
Sorunu nasıl çözdüm Run sudo blkid
/ Etc / fstab dosyanızı açın ve uuid'inkiyle olan eşleşmesini sahip olduğunuz bölümlerle karşılaştırın. Uyuşmazlık varsa, değiştirin ve yeniden başlatın.
dmesg
çıktı OP'nin farklı bir sorunu olduğunu gösteriyor.
Bu geçici bir çözümdür, ancak bu önyükleme süremi önemli ölçüde azalttı (1 dak. 24s'den 16s'a).
sudo vim /etc/systemd/system.conf
Bu iki parametreyi kaldırın ve istediğiniz zaman aşımını ayarlayın:
DefaultTimeoutStartSec=10s
DefaultTimeoutStopSec=10s
Not: Lütfen donanım gereksinimlerinizi ~ 5 - 60s karşılamak için bu değerleri optimize edin.
Bahsedildiği gibi burada bu parametreler içinde per-unit yapılandırılan, birimlerin otomatik tekrar arasındaki uykuya varsayılan süreyi başlayan ve birimlerin durdurma yanı sıra varsayılan zaman aşımı yapılandırmak TimeoutStartSec=
, TimeoutStopSec=
ve RestartSec=
(hizmetler için, systemd.service (5 bakınız) birim ayarları ile ilgili detaylar).
Servis dışı birimler DefaultTimeoutStartSec=
için varsayılanı ayarlar TimeoutSec= value
. DefaultTimeoutStartSec=
ve DefaultTimeoutStopSec=
varsayılan olarak 90 sn. DefaultRestartSec=
varsayılan olarak 100ms'dir.
Düzenle - Daha detaylı olarak:
Önyükleme sırasını analiz ettim, systemd-analyze plot > sequence.svg
bununla servisler yeni güncellenen işletim sistemimde başlayamadı. Üçü vardı - biri yanlış yapılandırılmış bir sendmail cini, ardından powerd.service & NetworkManager-wait-online.service . NetworkManager hizmetini tamamen devre dışı bırakmak iyi bir fikir olmadığı için, 10 saniye sonra zaman aşımına uğramasına izin verdim ve bu kuralı genel olarak uyguladım.
Bu dosya sistemi ile ilgili olabilir. Dosya sisteminizi onarmanın önyükleme süresini iyileştirip iyileştirmediğini görmek için bu bağlantıyı kontrol etmek isteyebilirsiniz: https://help.ubuntu.com/community/FilesystemTroubleshoot
Benzer bir problem daha yeni çözdüm: Ubuntu 16.04'ü bir SSD'de çalıştırdım. Değişken bölüm olarak bir flash sürücü kullanıyorum. Sürücü kazayla hafifçe hareket ettirildi ve önyüklemesi 3 dakikadan fazla sürdü. Doğru geri koydum ve şimdi her şey yolunda. Smartctl veya fsck'i denediyseniz ve dosya sisteminiz iyi durumdasa, flash sürücüleri (veya diğer çevre birimlerini?) Çıkarmayı deneyin ve nasıl çalıştığını görün. İyi şanslar!
Pastebin çıktılarına dayanarak birkaç şey bana atlıyor:
EXT4-fs (sda5): re-mounted
Sen isteyebilirsiniz fsck bu hacim ve bakmak Akıllı Veri o sürücü için.
ve
[ 31.022220] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[ 45.720952] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[ 45.761548] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready
Bağlantınız desteklemiyorsa, ağ bağlantılarınızda IPV6'yı devre dışı bırakmayı deneyebilirsiniz .
User536489'nin ipucunu takip eden:
systemd analiz suçu
Başlaması daha uzun bir hizmet olup olmadığını kontrol edin ve daha düşük bir zaman aşımı süresi ayarlayın:
sudo vim /lib/systemd/system/networking.service
TimeoutStartSec
Gibi bir şeyle değiştirin 10s
. Adam sayfa devletler böyle "5dk 20'li" olarak saniyede bir birim daha az değer ya da bir zaman aralığı değerini alır. Zaman aşımı mantığını devre dışı bırakmak için "sonsuzluğu" geçin.