initramfs-toolsにLZ4のサポートを
「initramfs-tools」に「LZ4」(圧縮形式)のサポートが提案されています。今回の提案は、「initramfs-tools」に「LZ4」のサポートを追加することと、将来的にデフォルトの圧縮形式を「LZ4」にすることです。
「initramfs-tools」は長い間、デフォルトの圧縮形式に「gzip」を採用してきました。
「LZ4」は「gzip」よりもアーカイブのサイズが大きくなりますが、「gzip」よりも高速な圧縮・展開速度を提供します。
展開速度の計測
提案者の環境では、OS起動時の「initramfs」の展開が、約1.2秒から約0.24秒に短縮されました。LZ4
kernel: [ 0.297726] Unpacking initramfs...
kernel: [ 0.535061] Freeing initrd memory: 77940K
kernel: [ 0.301637] Unpacking initramfs...
kernel: [ 0.539109] Freeing initrd memory: 77940K
kernel: [ 0.535061] Freeing initrd memory: 77940K
kernel: [ 0.301637] Unpacking initramfs...
kernel: [ 0.539109] Freeing initrd memory: 77940K
gzip
kernel: [ 0.273748] Unpacking initramfs...
kernel: [ 1.490066] Freeing initrd memory: 57140K
kernel: [ 0.281729] Unpacking initramfs...
kernel: [ 1.498493] Freeing initrd memory: 57140K
kernel: [ 1.490066] Freeing initrd memory: 57140K
kernel: [ 0.281729] Unpacking initramfs...
kernel: [ 1.498493] Freeing initrd memory: 57140K
アーカイブ作成時間の短縮
同様に「initramfs」作成時、アーカイブの作成にかかる時間が約24秒から約21秒に短縮されました。LZ4
update-initramfs: Generating /boot/initrd.img-4.15.0-12-generic
14.97user 6.31system 0:20.47elapsed 103%CPU (0avgtext+0avgdata
22368maxresident)k
update-initramfs: Generating /boot/initrd.img-4.15.0-12-generic
15.18user 6.49system 0:20.48elapsed 105%CPU (0avgtext+0avgdata
22308maxresident)k
14.97user 6.31system 0:20.47elapsed 103%CPU (0avgtext+0avgdata
22368maxresident)k
update-initramfs: Generating /boot/initrd.img-4.15.0-12-generic
15.18user 6.49system 0:20.48elapsed 105%CPU (0avgtext+0avgdata
22308maxresident)k
gzip
update-initramfs: Generating /boot/initrd.img-4.15.0-12-generic
18.23user 6.77system 0:23.61elapsed 105%CPU (0avgtext+0avgdata
22396maxresident)k
update-initramfs: Generating /boot/initrd.img-4.15.0-12-generic
18.38user 6.83system 0:23.82elapsed 105%CPU (0avgtext+0avgdata
22292maxresident)k
18.23user 6.77system 0:23.61elapsed 105%CPU (0avgtext+0avgdata
22396maxresident)k
update-initramfs: Generating /boot/initrd.img-4.15.0-12-generic
18.38user 6.83system 0:23.82elapsed 105%CPU (0avgtext+0avgdata
22292maxresident)k
アーカイブサイズの増加
その一方でアーカイブサイズが約14%増えました。圧縮形式 | ファイル | サイズ |
---|---|---|
LZ4 | /boot/initrd.img-4.15.0-12-generic | 66,709,065バイト(63.6MiB) |
gzip | /boot/initrd.img-4.15.0-12-generic | 58,510,993バイト(55.8MiB) |
LZ4のサポート提案へ
提案者はこの結果を踏まえ、「initramfs-tools」の「LZ4」のサポートを以下で提案しています。ただし現時点での提案は、「initramfs-tools」の「LZ4」のサポートに留まっており、デフォルトの圧縮形式としての採用は、「Ubuntu 18.10」での採用が考えられています。
/bootのサイズ
ユーザーの中には、「/boot」をルートとは別のパーティションに確保しているユーザーもいるかと思います。「LZ4」では「initramfs」のアーカイブサイズが増加するため、ギリギリのサイズで「/boot」用のパーティションを作成している場合、容量不足に陥る可能性があります。
ただし「Ubuntu 18.04」の「ソフトウェアの更新(update-manager)」では、古いカーネルを自動削除する機能のサポートが検討されています。
また「unattended-upgrades」は、すでに古いカーネルを自動削除する機能がサポートされています。
そのためアーカイブサイズが増加しても、容量不足の問題は回避できるのではないか、とのことです。