Berikut adalah Blog oleh "George Georgovassilis" yang memiliki wawasan lebih dalam membaca grafik boot dan bagaimana mempercepatnya ...
Mengukur kemajuan
Bootchart adalah paket yang bagus yang melakukan protokol dengan cermat seluruh proses boot dan membuat grafik grafik waktu dan tempat mereka dihabiskan. Jadi langkah pertama adalah mendapatkan bootchart:
sudo apt-get install bootchart
Setelah mem-boot ulang, Anda bisa mendapatkan bagan tersebut di /var/log/bootchart
. Peringatan: bagan pertama adalah non-representatif, karena ureadahead berada dalam mode profiling dan memperlambat segalanya. Setelah reboot lagi, grafik akan terlihat jauh lebih baik. Dan seperti itulah tampilannya:
Bagan menunjukkan tiga tonggak: manajer X-Window dimulai pada 19 detik setelah boot, Gnome pada 41 detik dan desktop terlihat pada 59 detik, yang akan saya pertimbangkan juga sepanjang waktu boot. Itulah saatnya untuk mengalahkan.
Paralelisasi Ureadahead
Ureadahead membutuhkan waktu sekitar 10 detik untuk menyelesaikan pengisian cache, selama waktu itu tidak ada lagi yang memuat. Ini masuk akal untuk harddisk biasa, rotasi karena gerakan kepala yang sering disebabkan oleh proses boot secara paralel akan memperlambat segalanya. Tetapi karena instalasi ini mem-boot dari kartu SD, mungkin ada baiknya mencari cara untuk menjalankan ureadahead secara paralel. Cara pertama saya adalah memasukkan ureadahead ke dalam skrip dan meluncurkannya di latar belakang:
/etc/init.d/bootopts
#!/bin/sh
(/sbin/ureadahead --daemon)&
dan ubah /etc/init/ureadahead.conf
untuk memanggil skrip ini sebagai ganti/sbin/ureadahead
Reboot 3 detik lebih cepat yang diperoleh di suatu tempat antara boot X dan boot Gnome. Yang mengecewakan, grafik baru menunjukkan bahwa ureadahead masih berjalan secara berurutan menghentikan semuanya setelahnya. Beberapa penyelidikan menunjukkan bahwa penjadwal I / O berpikir bahwa kartu SD adalah perangkat rotasi, jadi saya mengubah skrip bootopts untuk memperbaikinya dengan menambahkan:
echo 0 > /sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.4/2-1.4:1.0/host6/target6:0:0/6:0:0:0/block/sdb/queue/rotational
Perhatikan bahwa kartu SD /dev/sdb
Setelah reboot, bagan akan terlihat seperti ini:
Jauh lebih baik, ureadahead berjalan secara paralel. Sayangnya itu membuat proses boot 1 detik lebih lambat, terutama menunda X dan Gnome. Tapi saya merasa saya pada sesuatu, jadi jangan menyerah begitu saja.
Tweak flashcard readahead
Beberapa tanda dengan hdparm sederhana -t -T pada kartu flash menunjukkan bahwa waktu baca berurutan dengan 14 MB / detik, sehingga 2 MB / detik pendek dari klasifikasi nominalnya. Alasannya tampaknya menjadi pengaturan baca-depan 256, menguranginya menjadi 128 mendapatkan maksimum 16 MB / detik. Demikianlah tambahan lain untuk skrip bootopts saya:
hdparm -a128 /dev/sdb
Memperbaiki penjadwal I / O
Reboot lagi nanti, saya kembali ke 56sec. Saya menduga bahwa penjadwal I / O memberikan ureadahead prioritas yang sama dengan proses lainnya, yang seharusnya tidak jadi harus disembunyikan di belakang sebuah ionice, jadi saya memodifikasi bootopts:
(/usr/bin/ionice -c 3 /sbin/ureadahead --daemon)&
Ini meningkatkan waktu boot 2 detik berikutnya. Grafik menunjukkan bahwa kartu flash masih belum digunakan sepenuhnya, jadi saya mengikuti petunjuk ini untuk menonaktifkan penjurnalan pada partisi boot dan saya juga menonaktifkan plymouthd yang merupakan bootscreen animasi. Dan itu berhasil, waktu sekarang menjadi 45 detik:
[update 2011.05.22] Saya juga membuat percobaan di arah yang berlawanan, yaitu memulai ionice dengan -c 1 yang sesuai dengan realtime I / O yang mengurangi waktu startup dengan sedetik lagi. Walaupun pada awalnya ini tampak berlawanan dengan intuisi karena lebih sedikit proses dapat berjalan secara paralel, pada pandangan kedua masuk akal karena I / O paralel memperkenalkan beberapa overhead.
Menunda layanan
Sekarang mari kita menunda layanan yang tidak diperlukan untuk proses boot setelah login. Kandidat saya:
mysqld
nmbd
smbd
cupsd
modem-manager
bluetoothd
alsa-store [update 2011.05.22]
alsa-restore [update 2011.05.22]
pulseaudio [update 2011.05.22]
rsync [update 2011.05.22]
apparmor - I apt-get removed that one [update 2011.05.22]
plymouthd [update 2011.05.22] I deleted the /etc/init/plymouthd*.conf files - arguably this will affect logging and the ability of services to interact with the user in case something goes wrong. Use at your own risk
ufw (firewall, there is a small security risk when setting up later) [update 2011.05.22]
acpi-support
Semua ini memiliki pekerjaan baru dan dapat ditunda dengan mengubah acara mulai di /etc/init/xyz.conf
file masing-masing menjadi sesuatu seperti "barang-yang-bisa-menunggu". apport [pembaruan 2011.07.07]
Skrip baru di /etc/init.d/stuff-that-can-wait
kemudian dapat menjalankan skrip ini. Milik saya terlihat seperti ini:
#!/bin/sh
/etc/init.d/mysql $1
/etc/init.d/samba $1
/etc/init.d/acpi-support $1
Dan tentu saja jangan lupa:
chmod a+x /etc/init.d/stuff-that-can-wait
Saya menambahkannya sebagai skrip pemula tetapi mungkin lebih mudah untuk menambahkannya sebagai skrip startup ke sesi gnome ("Aplikasi Startup")
Saya kemudian menghapus layanan serupa dari /etc/rcX.d
dengan perintah ini:
update-rc.d -f servicename remove
dan mengaturnya sebagai skrip pemula ( stuff-that-can-wait
)
Menjalankan skrip init secara paralel
Nice post disini [update 2011/05/22] Esensinya adalah untuk memodifikasi /etc/init.d/rc
untuk
CONCURRENCY=shell
Menjinakkan alat mode laptop [pembaruan 2011.05.22]
Ada lebih banyak yang harus dilakukan: di dekat akhir urutan boot, bootchart menunjukkan mount menunggu lama (12 detik) yang saya temukan di /usr/lib/pm-utils/power.d/journal-commit. Saya memodifikasi file ini sebagai berikut:
#!/bin/sh
exit0
(Saya mungkin bisa menghapusnya)
Yang ini tidak hanya memangkas 10 detik dari bootchart tetapi juga Desktop Unity yang terasa lebih cepat.
Ada juga pulseaudio
mulai jauh lebih awal dari yang seharusnya (lihat Menunda Layanan)
Modul daftar hitam [pembaruan 2011.07.07]
Langkah ini menghilangkan modul yang tidak perlu (untuk pengaturan saya). Edit /etc/modprobe.d/blacklist.conf dan tambahkan baris
blacklist rt2800pci
blacklist rt2x00pci
blacklist parport_pc
blacklist vboxnetado
blacklist vboxnetflt
blacklist bvoxdrv
blacklist joydev
blacklist lp
blacklist hp_accel
dan berkomentar lp module
di/etc/modules
Yang membuat kami dengan waktu boot 28 detik:
Disalin dan Diedit dari sini → http://georgovassilis.blogspot.com/2011/05/speeding-up-ubuntu-1104-boot-time.html
Saya harap ini membantu ... Semoga Sukses!