VirtualBox上のLinuxOSの動作がとても遅い場合に試す設定のメモ
VirtualBox上でLinuxOSを動作させる場合、動作が非常に遅くなるケースがあります.
このような場合に行う設定のメモ.
1. VirtualBoxストレージのディスクコントローラの確認
VirtualBoxストレージのディスクコントローラ、「ホストのI/Oキャッシュを使う」オプションがOFFになっていないか確認.
OFFになっているようだったら、ONにする.

2. I/O スケジューラの変更
仮想マシン側とホスト側でI/Oスケジューラが動いていると、仮想マシン側は2重にスケジューリングされるので、当然I/Oのパフォーマンスは落ちてしまいます.
仮想マシン側のI/OスケジューリングをOFFにしてホスト側のスケジューリングに便乗するようにすると、パフォーマンスの改善が見込めます.
① udevルールを作成
/etc/udev/rules.d/50-ioschedulers.rules を作成.
(※ ruleの優先度を決めるファイル先頭の数値は必要に応じて適当な値にすること)
② ruleの設定
ruleの内容は以下のように設定すると、起動時にスケジューラをnoneに設定してくれる.
# i/o schedulerを仮想マシン用に"none"にする. # ※ KERNEL==は物理ディスクデバイス. 以下設定では /dev/sda〜/dev/sdz を指す. ACTION=="add|change", KERNEL=="sd[a-z]", ATTR{queue/rotational}="0", ATTR{queue/scheduler}="none"
**③ 確認
再起動後、none にカッコがついていれば設定できています.
# ASM_DISK = デバイス名. 確認したいディスクデバイス sda...sdz を指定. # cat /sys/block/${ASM_DISK}/queue/scheduler sudo -E cat /sys/block/sda/queue/scheduler [none] mq-deadline
3. VirtiaoBox Guest Additionsをインストール
Guest Additionsのインストールでも仮想マシンのパフォーマンスUpが見込めます.
3-1. 前準備
GuestOS側で必要なソフトをインストールする
sudo apt install build-essential # ※ non-LTSの場合. sudo apt install linux-headers-generic # ※ LTSの場合. xx-yyはubuntuのLTSバージョン 20.04, 22.04.. etc sudo apt install linux-headers-generic-hwe-{xx-yy}
3-2. Guest Additionsのインストール
①メディアを挿入する

②仮想マシン側で挿入された仮想ディスクをマウントする
# /mnt直下にdvd用のマウントポイントとなるディレクトリ作成 sudo mkdir -p /mnt/dvd # Guest Additionsのディスクを/mnt/dvdへマウント sudo mount /dev/dvd /mnt/dvd /mnt/dvd: WARNING: device write-protected, mounted read-only.d
※ /dev/dvd もしくは /dev/cdrom がない場合、/media/{UserName}/以下にディスクがマウントされていないか確認
③ディスク内のVBoxLinuxAdditions.runを実行する
sudo /mnt/dvd/VBoxLinuxAdditions.run
④仮想マシンを再起動
仮想マシンを再起動します.
sudo shutdown -r now