ubuntu 启动性能优化-systemd 分析

linux启动优化是这个比较大的话题,这边以virutalbox的中的ubuntu 18.04 LTS为例,闲的慌,摸石头过河,探索下启动时间优化如何进行,欢迎高手辅导。

ubuntu 虚拟机的配置如下

  • 2 cpu
  • 2G 内存

虚拟硬盘是在移动硬盘上的,操作系统系统是ubuntu 18.04 LTS, 安装了ubuntu-desktop


ubuntu 使用了systemd 启动服务的,有个工具是systemd-analyze可以用来做启动分析。

ubuntu 启动性能优化-systemd 分析

这里看到,启动graphical花了57s, 系统整体启动花了12分钟,时间都去哪了呢

ubuntu 启动性能优化-systemd 分析

貌似apt update 这个没必要搞,自己想要升的时候升就好了,关了,免的启动占内存。

systemctl disable
ubuntu 启动性能优化-systemd 分析

其他的service 挨个的baidu,google 一把,用不到的关了,像ModemManager.service, wpa_supplicant.service , 没这个硬件设备,fstrim.service 这个,老子是硬盘,不是ssd,关了都关了

各式各样的关完一遍,重启下,看看能不能起来,功能正常,起不来,就重新打开,这是一个长期的过程。

ubuntu 启动性能优化-systemd 分析

这阶段下来时间基本上就是进1 min了,但是graphical 的启动时间还是太长

关键路径分析下

systemd-analyze critical-chain
ubuntu 启动性能优化-systemd 分析

红的貌似都不能干掉的样子,咋办?

systemd-analyze polt > starup.svg

会生成一个巨nb的unit启动图,如下

ubuntu 启动性能优化-systemd 分析
ubuntu 启动性能优化-systemd 分析

根据图例看启动的svg,还是因为同时启动的东西太多了,继续干服务, 中间你可能会发现有服务明明关了,但是又起来了,你需要

systemctl list-dependencies default.target

来了解下他们直接的依赖关系

ubuntu 启动性能优化-systemd 分析

snapd的时间始终都下不来

ubuntu 启动性能优化-systemd 分析

最后查了一波,snapd 貌似是个bug,vboxadd.service貌似也做的不怎么好,为了启动时间,强关了

一波猛如虎的操作后,时间进入了30s

ubuntu 启动性能优化-systemd 分析

勉强努力了下,算是有点成果了吧,但是现实还是挺打脸的,虽然上面标得时间是24s,但是gdm显示出来还是很耗时间的,要差不多1分钟

这么一波下来,感触良多

  1. 要启动快不要选systemd,解析load那一波unit 要几秒钟,伤不起
  2. ubuntu或者应该说gnome的桌面系统的性能有待加强

你可能感兴趣的:(ubuntu 启动性能优化-systemd 分析)