ubuntu启动慢,如何看启动耗时分布
ubuntu启动慢,如何看启动耗时分布
在Ubuntu系统中,如果您想检查启动过程中每个过程的耗时分布,可以使用systemd-analyze
工具。这个工具可以帮助您诊断启动过程中哪些服务或步骤占用了较多时间。
-
查看总体启动时间: 要查看系统启动所需的总时间,可以使用以下命令:
systemd-analyze
-
查看每个服务的启动时间: 如果您想了解各个服务启动所需的时间,可以使用
blame
选项:systemd-analyze blame
这将按照启动耗时从长到短列出所有服务,并显示它们各自启动所需要的时间。
-
查看启动流程图: 为了更直观地理解启动过程,
systemd-analyze
还可以生成一个启动流程图,显示服务之间的依赖关系以及它们的启动顺序:systemd-analyze plot > startup.svg
这将创建一个名为
startup.svg
的SVG文件,您可以使用任何支持SVG格式的图片查看器打开此文件。 -
查看关键链路启动时间: 若要查看导致启动时间延长的关键路径(即必须按顺序启动的服务),可以使用:
systemd-analyze critical-chain
这个命令会显示一个由服务组成的链,这些服务相互依赖并直接影响到系统的启动时间。
使用这些工具,您可以了解Ubuntu启动慢的原因,并针对特定的服务进行优化或调整。请注意,禁用或优化某些服务可能会影响系统的功能性或稳定性,所以在做出改变之前,请确保了解服务的功能和重要性。
实操:
1. 使用systemd-analyze blame命令查看,vboxadd.service 启动时间5分钟
$ systemd-analyze blame
5min 19.980s plymouth-quit-wait.service 5min 112ms vboxadd.service
6.754s apt-daily-upgrade.service
1.092s snapd.seeded.service
967ms snapd.service 690ms
networkd-dispatcher.service 572ms
dev-sda3.device 542ms
dev-loop11.device 542ms
dev-loop8.device 540ms
dev-loop9.device
2. 禁用vboxadd.service服务后重启
sudo systemctl disable vboxadd.service
3. 重启后,查看时间,启动缩短到30秒
$ systemd-analyze blame
21.136s plymouth-quit-wait.service
1.445s snapd.seeded.service
1.266s snapd.service
693ms networkd-dispatcher.service
606ms dev-sda3.device
532ms dev-loop8.device
532ms dev-loop10.device
531ms dev-loop15.device
531ms dev-loop12.device
531ms dev-loop11.device
531ms dev-loop9.device