与新贵相比,Systemd 真的很慢

iva*_*ård 5 boot upstart

我已经使用Ubuntu很长时间了,这是我使用时发生的情况:

Systemd:
它的性能非常糟糕systemd:它一直使用 95% 的 CPU,而且 PC 变得非常热。启动也需要很长时间(大约 1.5 分钟,有时它根本无法启动,因为它在启动时出现黑屏。)

新贵:
当我upstart在启动时尝试这些选项时,它按预期执行,在几秒钟内启动,它应该是很棒的。

笔记本电脑:

  • AMD A8
  • 雷电
  • 固态硬盘

问题:

  1. 为什么 upstart 的表现比systemd?
  2. 我该如何调试systemd
  3. 我应该切换到新贵吗?如果是,我该怎么做?

kyo*_*ake 3

1- 为什么:

Upstart 启动进程的模型是greedy event-based,所有启动事件发生的可用作业都尽早启动。在启动过程中,upstart合成一些初始事件(例如启动或 rcS)作为树根,早期服务在这些事件上启动,而后期服务在前者运行时启动。

Systemd 启动进程的模型是lazy dependency-based,只有当其他启动单元依赖于某个单元时,该单元才会启动。在引导期间,systemd启动根单元,然后该根单元会传递扩展并启动其依赖项。

2-系统调试生成器

是一个读取内核命令行并理解三个选项的生成器:

systemd.mask= option
Run Code Online (Sandbox Code Playgroud)

后面跟着一个单元名称,该单元在运行时被屏蔽。这对于从初始引导事务中删除某些单元进行引导以调试系统启动非常有用。

systemd.wants= option
Run Code Online (Sandbox Code Playgroud)

后跟单位名称,该单位被添加到初始交易中。这对于在引导时启动一个或多个附加单元很有用。

systemd.debug-shell option
Run Code Online (Sandbox Code Playgroud)

调试 shell 服务“debug-shell.service”被拉入启动事务中。它将在系统早期启动期间在 tty9 上生成一个调试 shell。

3- 这样做:

Advanced options for Ubuntu当计算机启动时,在启动提示符下选择。

然后,选择该Ubuntu, with Linux ... (upstart)条目。

但是,这仅适用于当前会话

因此,如果您想使其永久有效,则必须安装该upstart-sysv软件包。

来源