我的笔记本电脑
联想 ThinkPad X1 Extreme
# uname -sr
Linux 4.19.66-gentoo
活CD
系统救援光盘v6.0.3
内核:linux-4.19.34
dmesg
的
[ 0.651272] PCI: CLS 0 bytes, default 64
[ 12.858422] DMAR: Host address width 39
CONFIG_DMAR_TABLE=n
https://pastebin.com/2yCWGKSL
[ 0.650203] PCI: CLS 0 bytes, default 64
[ 12.881594] PCI-DMA: Using software bounce buffering for IO (SWIOTLB)
活CDhttps://pastebin.com/k36PrSUF
[ 0.715791] PCI: CLS 0 bytes, default 64
[ 0.715874] Unpacking initramfs...
[ 4.514591] Freeing initrd memory: 39588K
[ 4.565388] PCI-DMA: Using software bounce buffering for IO (SWIOTLB)
内核配置差异
sdiff -s <(zcat /mnt/usb/config-livecd.gz) <(zcat /proc/config.gz)
https://filebin.net/4g9c6bnlgur4o6ku/local-livecd.diff.gz
问题
我该如何进一步调查内核启动时 12 秒的延迟?
答案1
这是由于 initramfs 臃肿造成的,因为我已将所有 linux 固件都包含在内……
# du -hd0 /boot/initramfs.cpio
529M /boot/initramfs.cpio
将其缩减为 70mb 后,initramfs 加载仅需 2 秒:
[ 0.614545] PCI: CLS 0 bytes, default 64
[ 2.640922] DMAR: Host address width 39