Kali 开机启动慢

  • 一:确定罪魁祸首
  • 1.1 第一种方法
  • 1.2 第二种方法
  • 二:禁用
  • 2.1 plymouth-quit-wait.service
  • 2.2 systemd-journal-flush.service



kali开机竟然56秒,士可忍叔不可忍。

一:确定罪魁祸首

1.1 第一种方法

systemd-analyze

这次用到了systemd-analyze,是Linux系统自带的一个程序,可以用来查看占用系统启动时间的罪魁祸首。

kali 启动docker kali 启动变慢_加载


然而这样只是大致的了解,你并不能确定是哪个服务!

systemd-analyze blame

blame是前面命令的选项,大致功能是将每一项服务耗费的时间都打印出来。这里你可以加上head命令输出耗费时间最长的几项。

systemd-analyze blame | head

kali 启动docker kali 启动变慢_加载_02


从图片我们可以看出耗费时间最长的服务是plymouth-quit-wait.service,有28.567秒。哈哈,这下抓到了罪魁祸首!!!!

这里另外推荐个命令:systemd-analyze critical-chain。以树状的形式打印时间关键时间链的输出,通俗的说就是可以更加直观的看到每个服务以及内容。

1.2 第二种方法

systemd-analyze plot > ~/SystemdAnalyzePlot.svg
上面的命令是将开机进程信息,输出为文件,然后用浏览器打开,以图形的方式展示,下面上效果图。

kali 启动docker kali 启动变慢_1024程序员节_03

二:禁用

2.1 plymouth-quit-wait.service

这里翻译一下英文,这个服务的目的是:加载启动动画,然后等待。意思是在你的boot启动过程中,一直显示动画,而不至于什么也不输出,让你觉得这个系统是不是凉了,其实慢的不是这个程序,而是你的boot加载过程慢。意思是说禁用了没用,但是我禁用了,还是有点用的。

可以尝试禁用它,来提升我们的使用体验。这里有两个命令,a)disable,b)mask,mask的效果更加强烈一些。

systemctl mask plymouth-quit-wait.service

这里的systemctl是 控制系统和服务管理器。

2.2 systemd-journal-flush.service

在systemd-journal-flush.service询问期刊守护进程(journal daemon),清除存储在/运行/日志/日记到在/ var /日志/日志的任何日志数据,如果persistent存储已启用。如果您(已经)有巨大的日志文件,这将导致启动速度变慢。此外,磁盘(带有/var/log)必须以可写方式安装才能这样做。就是说:在启动过程中检查的大量旧日志文件和新日志数据的附加导致启动时间变慢。

不推荐禁用

journalctl --disk-usage
# 查看占据磁盘大小
sudo rm -rf /var/log/journal
# 清除一些磁盘上的老的文件

从某种意义上来说,这也可以加快一点启动速度。

->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

这里是第二次记录,我发现禁用了NetworkManager.service选项后,再次开机竟然无法开启网络,这里给出临时解决方案。

service NetworkManager start #可以直接使用网络
systemctl reenable NetworkManager.service #去除systemctl disable NetworkManager.service的效果