Ubuntu 22.04图形会话启动缓慢问题:原因分析与非硬件层面优化方案咨询
Ubuntu 22.04图形会话启动缓慢问题:原因分析与非硬件层面优化方案咨询
你好!先直接回应你的核心疑问:从你提供的启动链(critical chain)和服务耗时(blame)数据来看,GDM/GNOME Shell并不是当前拖慢系统启动的主要元凶——真正的时间大户是几个系统服务、Snap相关组件以及异常的时间同步服务。下面我们一步步拆解原因,并给出非硬件层面的优化方案:
一、启动缓慢的核心原因分析
从你提供的systemd-analyze critical-chain和systemd-analyze blame输出,我们可以定位到几个关键耗时点:
- plymouth-quit-wait.service(57.7秒):这是等待Plymouth启动画面退出的服务,机械硬盘环境下容易因依赖卡住,导致后续服务启动延迟,是当前最大的时间消耗项。
- Snap相关组件:
dev-loop11.device(46秒)和snapd.service(21.9秒),Snap包通过循环挂载镜像文件运行,机械硬盘上的镜像挂载操作远慢于SSD,多个Snap包会大幅拖慢启动速度。 - e2scrub_reap.service(42.9秒):该服务负责清理ext4文件系统在线检查的残留文件,机械硬盘上的文件系统操作本身速度慢,若之前有未正常完成的检查任务,会导致清理耗时剧增。
- systemd-timesyncd.service(1分17秒):启动链中该服务异常耗时,说明时间同步服务启动后一直在等待网络或NTP服务器响应,拖慢了整个启动链的后续流程。
- apt-daily-upgrade.service(21.3秒):系统自动更新检查/升级服务,默认在启动时运行,机械硬盘上的更新包下载与处理操作会占用大量启动时间。
二、非硬件层面的优化方案
针对上述问题,你可以按优先级尝试以下优化操作:
1. 禁用冗余的Plymouth等待服务
sudo systemctl mask plymouth-quit-wait.service
这个服务多数场景下是冗余的,禁用后不会影响系统功能,能直接砍掉近1分钟的启动耗时。
2. 优化或移除Snap组件
机械硬盘与Snap的兼容性较差,可通过以下方式优化:
- 卸载不需要的Snap包:先查看已安装的Snap包:
比如你启动链中出现的snap listsnap-cups-980.mount,若不需要Snap版的CUPS服务,可卸载:sudo snap remove cups - 禁用或完全移除Snap:若基本不用Snap包,可直接禁用相关服务:
甚至彻底移除Snap框架:sudo systemctl disable --now snapd.socket snapd.servicesudo apt purge snapd
3. 修复e2scrub_reap服务的异常耗时
先检查ext4文件系统的残留检查任务:
sudo e2scrub_all -v
若确认不需要定期清理,可禁用该服务:
sudo systemctl disable e2scrub_reap.service
4. 修复时间同步服务的异常
编辑时间同步配置文件,更换为速度更快的国内NTP服务器:
sudo nano /etc/systemd/timesyncd.conf
找到[Time]区块,取消注释并修改为:
NTP=ntp.aliyun.com cn.ntp.org.cn
保存后重启时间同步服务:
sudo systemctl restart systemd-timesyncd.service
5. 延迟或禁用自动更新服务
避免自动更新在启动时占用资源:
- 延迟自动更新启动:编辑服务配置文件:
输入以下内容并保存:sudo systemctl edit apt-daily-upgrade.service
这样服务会在系统启动5分钟后再运行,不影响启动速度。[Service] ExecStartPre=/bin/sleep 300 - 直接禁用自动更新:
之后可手动通过sudo systemctl disable --now apt-daily-upgrade.service apt-daily.servicesudo apt update && sudo apt upgrade完成系统更新。
6. 后续GNOME桌面启动优化(若需要)
如果后续启动桌面后仍觉得响应慢,可优化GNOME Shell:
- 打开GNOME Tweaks工具,进入「扩展」标签,关闭不需要的GNOME扩展;
- 若为单用户使用,可在GDM中开启自动登录,减少登录环节的验证耗时。
备注:内容来源于stack exchange,提问作者Tasmoy
相关产品推荐
相关产品推荐

