我已经使用 Ubuntu 很长时间了,当我使用时会发生以下情况:
系统:
它的性能非常差systemd
:它一直占用 95% 的 CPU,而且 PC 非常热。此外,它启动需要很长时间(大约 1.5 分钟,有时它根本无法启动,因为启动时屏幕是黑的。)
暴发户:
当我upstart
在启动时尝试这些选项时,它的表现符合预期,在几秒钟内启动,而且它的表现非常棒。
笔记本电脑:
- AMD A8
- Radeon
- 固态硬盘
问题:
- 为何 upstart 的表现比 更好
systemd
? - 我该如何调试
systemd
? - 我是否应该改用 upstart?如果是,我该怎么做?
答案1
1- 原因:
Upstart 的进程启动模型是greedy event-based
,所有启动事件发生的可用作业都会尽早启动。在启动期间,upstart
将一些初始事件(如启动或 rcS)合成为树根,早期服务从这些事件开始启动,后期服务在前者运行时启动。
Systemd 启动进程的模型是lazy dependency-based
,一个单元只有在其他启动单元依赖它时才会启动。在引导期间,systemd
启动根单元,然后根单元会逐渐扩展并启动其依赖项。
2- systemd-debug-generator
是一个读取内核命令行并理解三个选项的生成器:
systemd.mask= option
后面跟着一个单元名称,该单元在运行时被屏蔽。这对于在初始启动事务中删除某些单元以调试系统启动非常有用。
systemd.wants= option
后面跟着单元名称,该单元被添加到初始事务中。这对于在启动时启动一个或多个附加单元很有用。
systemd.debug-shell option
调试 shell 服务“debug-shell.service”被拉入启动事务。它将在系统启动初期在 tty9 上生成一个调试 shell。
3- 为此:
Advanced options for Ubuntu
在计算机启动时,在启动提示符下选择。
然后,选择Ubuntu, with Linux ... (upstart)
条目。
但是,这仅适用于当前会话
所以如果您想使其永久存在,您必须安装该upstart-sysv
软件包。