我systemd-analyze critical-chain
在我的系统上做了一个启动,在 i3wm 上运行 vanilla Arch。
现在,我也已经Virtualbox
安装在我的系统上。因此,输出systemd-analyze critical-chain
看起来像这样:
graphical.target @45.620s
└─multi-user.target @45.620s
└─vboxweb-service.service @45.609s +10ms
└─vboxdrv.service @1.645s +43.956s
└─basic.target @1.637s
└─sockets.target @1.637s
└─dbus.socket @1.637s
└─sysinit.target @1.637s
└─sys-fs-fuse-connections.mount @6.422s +3ms
└─systemd-modules-load.service @348ms +36ms
└─systemd-journald.socket @340ms
└─system.slice @327ms
└─-.slice @327ms
请注意,“vboxdrv.service”花费的时间最长,约为 43 秒,几乎占总启动时间的 90%。
我的问题是:通过以下方式禁用这两项服务是否安全systemd disable vboxdrv.service
?然后,每当我想运行 virtualbox 时,我都可以这样做systemd start vboxdrv.service
:
答案1
该systemd disable vboxdrv.service
命令对我不起作用。
要禁用和启用 vboxdrv,我使用了以下命令:
systemctl disable vboxdrv.service
systemctl enable vboxdrv.service
答案2
没必要。
vboxdrv.service
仅当您更新内核时才重新编译内核驱动程序,我很确定您不会每天都这样做。您仍然可以禁用它。
答案3
除了减少启动时间之外,如果您希望运行更少的进程,您可以停止并禁用 virtualbox 的服务:
systemctl stop vboxweb-service.service vboxballoonctrl-service.service vboxdrv.service
systemctl disable vboxweb-service.service vboxballoonctrl-service.service vboxdrv.service
所以在需要使用虚拟机之前只需要启动这些服务即可。但我测试了一下,发现重启系统后它仍然继续重新启动。