起因
最近在开启centos7虚拟机的时候明显感觉速度慢了很多,大约要几分钟,然后查看启动日志,发现有大量的警告,并且查看启动时间分布,都分布在initrd部分
警告
查看系统开机时间分布
systemd-analyze
systemd-analyze blanme
排查
查了很多资料,有部分出现这个提示后无法启动的,但我这个是可以启动的,大多解决思路都是重新生成grub.cfg配置文件和initrd镜像。
所以我查看了一下自己的grub.cfg,发现了一个问题,在启动参数上有个swap分区的"关联"(为什么说关联,因为我也不知道这个是什么作用),可是我明明已经删除了关于swap分区的相关内容,还是有生成这个,大概率是因为要关联swap,但是却找不到swap,所以会卡在initrd很久时间。
linux16 /vmlinuz-3.10.0-514.el7.x86_64 root=/dev/mapper/cl-root ro rd.lvm.lv=cl/root rd.lvm.lv=cl/swap biosdevname=0 net.ifnames=0 rhgb quiet LANG=en_US.UTF-8
把rd.lvm.lv=cl/swap
去掉,重启就速度很快了。
解决问题
然后我们查看一下/etc/default/grub
文件
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="rd.lvm.lv=cl/root rd.lvm.lv=cl/swap biosdevname=0 net.ifnames=0 rhgb quiet"
GRUB_DISABLE_RECOVERY="true"
把rd.lvm.lv=cl/swap
去掉,然后使用命令重新生成grub.cfg
grub2-mkconfig -o /boot/grub2/grub.cfg
评论区