与暴发户相比,Systemd真的很慢
我已经使用Ubuntu很长一段时间了,这就是我使用时发生的事情:
Systemd:
它使用systemd
执行起来非常糟糕:它一直使用95%的CPU并且PC变得非常热。 此外,它需要很长时间才能启动(大约1.5分钟,有时它根本无法启动,因为它在启动时有黑屏。)
暴发户:
当我在启动时尝试upstart
选项时,它会按预期执行,在几秒钟内启动,并且它应该是非常棒的。
笔记本电脑:
- AMD A8
- RADEON
- SSD
问题:
- 为什么暴发户比
systemd
表现更好? - 我该如何调试
systemd
? - 我应该切换到暴发户吗? 如果是,我该怎么办?
1-为什么:
Upstart的启动流程模型是greedy event-based
,所有可用的启动事件发生的作业都是尽早启动的。 在启动过程中, upstart
一些初始事件(如startup或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
选择“ Advanced options for Ubuntu
。
然后,选择Ubuntu, with Linux ... (upstart)
条目。
但是,这仅适用于当前会话
因此,如果要使其永久化,则必须安装upstart-sysv
包。