Table of Contents
- 1. システム構成と施策実行前の起動時間
- 2. BIOS表示時間を変更
- 3. フロッピードライブを追加
- 4. /etc/initramfs-tools/conf.d/resumeを修正
- 5. vboxadd-x11.serviceをdisable
- 6. コア数を2にした場合
1 システム構成と施策実行前の起動時間
OSX上のVirtualBoxで以下の仮想マシンを利用しています。
CPU Core Number 1 RAM 1GB Video Memory 128MB Storage IDE DVD Drive + SATA 40GB HDD
ubuntu-16.04-desktop-amd64.isoをLVM + ext4でインストールしています。インストール直後の起動時間は以下のとおりです。
$ systemd-analyzeStartup finished in 9.372s (kernel) + 5.721s (userspace) = 15.093s
2 BIOS表示時間を変更
VirtualBox上のBIOSは3秒程度の表示時間があります。 こちらの記事に記載されている方法でBIOSを表示時間を変更します。最小値の1にしておいて、必要になったら3000に変更すれば良いと思います。
3 フロッピードライブを追加
VirtualBox 5.0.20 r106931の問題っぽいのですが、フロッピードライブを追加していない状態でも、フロッピードライブが接続されているとバスが認識してしまうようです。
この結果、バスによってLinuxカーネルはフロッピードライブがあると認識してしまい、フロッピードライブの初期化処理が動作します。初期化処理が成功しないので、一度スリープして再度初期化を実行しようと試みることになり、カーネルの起動に遅延が発生します。
[ 2.038893] sd 2:0:0:0: [sda] Attached SCSI disk[ 4.311960] floppy0: no floppy controllers found[ 4.312010] work still pending
この問題を回避するために、フロッピードライブを追加して初期化処理を成功させるようにします。フロッピードライブの追加はUbuntu 16.04をシャットダウンした状態で実行します。
Settings -> Storage -> Adds new storage controller -> Add Floppy Controller
カーネルの起動時間が2秒ほど速くなりました。
$ systemd-analyzeStartup finished in 6.980s (kernel) + 5.235s (userspace) = 12.216s
4 /etc/initramfs-tools/conf.d/resumeを修正
LVMが有効だとスワップ領域のマウントが遅くなる問題を修正します。
$ sudo su -c ‘echo RESUME=/dev/mapper/ubuntu–vg-swap_1 > /etc/initramfs-tools/conf.d/resume’$ sudo update-initramfs -u$ sudo reboot
カーネルの起動時間が5秒ほど速くなりました。
$ systemd-analyzeStartup finished in 2.223s (kernel) + 5.999s (userspace) = 8.223s
5 vboxadd-x11.serviceをdisable
vboxadd-x11.serviceはCPU負荷が掛かる割には何も実行しません。
$ systemd-analyze blame | head 2.795s vboxadd.service 1.770s vboxadd-x11.service 1.235s dev-mapper-ubuntux2dx2dvgx2droot.device 1.035s networking.service 930ms accounts-daemon.service 819ms NetworkManager.service 802ms avahi-daemon.service 673ms systemd-logind.service 590ms apport.service 577ms grub-common.service
systemd-analyze critical-chainで示されるボトルネックはvboxadd.serviceの方ですが、コアが少ない環境なのでvboxadd-x11.serviceをdisableします。
$ sudo systemctl disable vboxadd-x11$ sudo reboot
ユーザランドの起動時間が1秒ほど速くなりました。
$ systemd-analyzeStartup finished in 2.165s (kernel) + 4.389s (userspace) = 6.555s
6 コア数を2にした場合
systemdが並列実行されるのでユーザランドの起動時間が改善されます。
$ systemd-analyzeStartup finished in 2.175s (kernel) + 2.837s (userspace) = 5.012s