解决ubuntu开机变慢;删除耗时启动项

这篇具有很好参考价值的文章主要介绍了解决ubuntu开机变慢;删除耗时启动项。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

windows+ubuntu双系统,其中ubuntu20安装在机械硬盘上。

使用一段时间后ubuntu20的开机时间变的很长,需要2分钟左右,而且开机后一段时间很卡顿。

经过本文解决后开机时间从2min减少到36s。

目录

1、过多开机启动项

2、snapd耗时

3、太多journal


1、过多开机启动项

可以用以下命令来查看开机启动项耗时,并且关掉不需要的启动项。

systemd-analyze blame #查看开机启动项耗时
systemd-analyze time #查看总的开机时间
systemd-analyze critical-chain #启动时间树状图
systemd-analyze plot > ~/SystemdAnalyzePlot.svg #生成开机时间分析图,可以用图片或者浏览器打开看
systemctl disable 启动项名称.service #禁用该启动项
systemctl mask 启动项名称.service #强力禁用该启动项,确保其他项也不能唤起它

建议删掉的开机启动服务:

 #网卡相关?
sudo systemctl disable NetworkManager-dispatcher.service
#服务器网络相关?等待网络连接
sudo systemctl disable NetworkManager-wait-online.service
#开机启动动画?
sudo systemctl mask plymouth-quit-wait.service

不能删掉的开机启动服务:

accounts-daemon.service #账户守护进程?
NetworkManager.service #删掉后桌面右上方就不会有网络的图标了
systemd-journal-flush.service #boot时日志的读取和记录,不要禁用;下文会讲怎么处理
snapd.service #ubuntu自带的应用管理软件,下文会讲怎么处理
udisks2.service #没禁用过
dev-sda3.device #后缀是device的都不要禁用,是读取硬盘

验证某项sevice能否关闭,可以关一下看一下:

#用systemctl
sudo systemctl stop NetworkManager.service #暂停
sudo systemctl start NetworkManager.service #启动
sudo systemctl restart NetworkManager.service #重启
sudo systemctl disable NetworkManager.service #禁用
sudo systemctl reenable NetworkManager.service #取消禁用
#也可以用service
sudo service network-manager stop/start/restart/status

2、snapd耗时

如果你发现snapd.service耗时大,同时有一堆的dev-loop*.device耗时,那说明是snap拖慢了开机时间。如下图:

解决ubuntu开机变慢;删除耗时启动项

snap其实就是ubuntu自带的软件商店software store,也叫snap-store。除了用apt或者下载deb包来安装软件外,ubuntu上还可以在这个snap软件商店里直接搜索和下载软件,我就用它下载了好几款软件(vscode、typora、SmpleScreenRecorder等)。snap也可以在命令行使用,有点类似apt-get或者apt。

解决ubuntu开机变慢;删除耗时启动项

用snap包的好处就是它解决了应用程序之间的依赖问题,使应用程序之间更容易管理。但是由此带来的问题就是它占用更多的磁盘空间和boot时间,也会占用cpu等资源使得应用启动变慢。可以查看snap下安装了哪些应用:

snap list

解决ubuntu开机变慢;删除耗时启动项

可见我就用snap安装了core、code、snapd、typora等显著增加开机时间的应用。 那些dev-loop*.device磁盘空间就是snap为不同应用创建的,可以用df命令来查看磁盘的划分:

df -h

解决ubuntu开机变慢;删除耗时启动项

 比如/dev/loop1和2就对应了code(vscode),那么对应的开机项dev-loop1.device和dev-loop2.device就显著增加了开机时间。

最好的解决办法就是删除snapd。注意用snap安装的软件如vscode等也会被删除,之后用apt或者deb包重新安装一下就行(实测用deb包安装的vscode和typora软件启动都变快了)。

#彻底删除snapd和配置文件
sudo apt purge snapd
#不要用autoremove!否则很多依赖也都会被删除
#sudo apt autoremove --purge snapd

然后你就会发现df磁盘空间里没了那些/dev/loop*项,开机也没了snapd.service和dev-loop*.device项,节约了大量开机时间。

3、太多journal

如果启动时systemd-journal-flush.service耗时较多,不要禁用这个服务,而应该去检查/var/log/journal文件夹是否已经积累了很多日志。每次开机boot时会把日志存在这里,并且读取以前的日志,久而久之这个文件夹越来越大,boot时耗时也越来越多了。

可以试着删除journal文件夹:

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

为了避免每次都手动删除日志,可以设置journal的最大容量:

sudo gedit /etc/systemd/journald.conf

将文件里的如下两行取消注释并添加大小限制:

#SystemMaxUse=
#SystemMaxFileSize=
#SystemMaxFiles=
SystemMaxFileSize=1G
SystemMaxFiles=5
#SystemMaxUse=50M #这行没试

补充一下,/var/cache/apt下的缓存也可以清理来节约磁盘空间(但是和开机速度无关)。

#删除 /var/cache/apt/archives/ 已经过期的deb.
sudo apt autoclean
#将 /var/cache/apt/archives/ 的 所有 deb 删掉
sudo apt clean

经过以上操作,开机时间由2min降低到了36s。现在的开机启动项和开机时间如下:

解决ubuntu开机变慢;删除耗时启动项文章来源地址https://www.toymoban.com/news/detail-447565.html

到了这里,关于解决ubuntu开机变慢;删除耗时启动项的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • ubuntu开机自启动

    ubuntu开机自启动 1、建一个test.sh脚本,并写入 #!/bin/sh gnome-terminal -x bash -c ‘cd /home/文件路径/;python3 main.py’ exit 0 2、:wq!保存 3、创建rc-local.service文件(sudo vim /etc/systemd/system/rc-local.service),并写入 [Unit] Description=/etc/rc.local Compatibility ConditionPathExists=/etc/rc.local [Service] Type=fork

    2024年02月14日
    浏览(35)
  • ubuntu设置开机启动命令

    本文档主要记录 Ubuntu 系统使用 /etc/rc.local 设置开机指令的方法。 Ubuntu 20.04 输出结果如下: 注: Ubuntu 20.04不能直接启用 rc-local 服务,会报错,需要手动创建 rc-local 服务文件。指令报错如下: 输入以下内容: 输入以下内容: 以删除某条冗余静态路由为例,例如,现在有双网卡环境

    2024年02月11日
    浏览(46)
  • Ubuntu设置开机自启动

    本文介绍如何在Ubuntu设置开机自启动。 除了系统上配置的默认启动应用程序之外,gnome-session-properties 程序使用户能够配置登录时应启动哪些应用程序。 选择开机自启动的程序路径并保存。 本文介绍了在Ubuntu设置开机自启动的流程。

    2024年02月13日
    浏览(50)
  • Ubuntu开机自启动设置

            这里有两个程序所以编写了两个脚本,第一脚本(master.sh):         开启一个新的终端,使用conda创建的wood2环境,到指定目录执行main.py程序,并把日志信息保存到指定文件masterLog.txt中。         第二个脚本(wood.sh):         开启一个新的终端,到指定目

    2024年02月11日
    浏览(42)
  • 【自启动配置】Ubuntu 设置开机自启动脚本

    Ubuntu 开机运行的脚本和当前操作系统运行的级别有关,OS 的运行级别大概分为七个 目录 1、查看 OS 运行级别 2、创建自启动脚本 3、添加软链接 输入命令 runlevel 查看当前系统运行级别。当前系统的运行级别为 5 在  /etc/init.d/ 目录下创建自启动脚本,当系统启动时,会自动运

    2024年02月12日
    浏览(40)
  • ubuntu iptables开机自启动

    用在一台电脑有多个网卡的情形下,一个网卡5网段、一个网卡8网段,8网段是网络出口,所以5网段的设备需要入网的话,要路由转发。 iptables配置完成后,如果不做设置,机器重启动后,规则会丢失 ubuntu下可以通过以下步骤保存iptables设置,并实现开机自动加载 1、iptables配

    2024年02月09日
    浏览(44)
  • ubuntu设置程序开机自启动

    创建一个启动脚本文件,比如 python.sh,并添加以下内容 将脚本设置为可执行 按下 Alt+F2 ,桌面提示输入一个指令,输入 gnome-session-properties 并回车。 点击添加按钮,输入名称,命令添加 gnome-terminal -x /home/xdk/python.sh ,即 gnome-terminal -x + python.sh 脚本的所在目录 ,注释可为空,

    2024年04月26日
    浏览(47)
  • ubuntu更改开机默认启动内核

    在打开的 /etc/default/grub 文件中,找到名为 “GRUB_DEFAULT” 的行。该行定义了默认启动的内核。默认情况下,它通常设置为 “0”,表示选择第一个内核。 根据你想要设置为默认启动的内核,将 GRUB_DEFAULT 的值进行修改。内核列表是从0开始索引的,因此第一个内核的索引为 “

    2024年02月04日
    浏览(34)
  • Ubuntu部署crontab开机自启动

    apt-get update apt-get install cron 1.3 开启日志功能 1.3.1 安装rsylog组件  apt-get install rsyslog  1.3.2 配置日志记录 vim /etc/rsyslog.d/50-default.conf 配置文件的cron.* /var/log/cron.log前面的注释#去掉。 重启rsyslog服务 service rsyslog restart 待后续配置好cron启动程序后,会有日志输出到这个文件中 

    2024年02月03日
    浏览(30)
  • ubuntu下自启动设置,为了开机自启动launch文件

    每隔5秒钟启动一个launch文件,也可以直接在一个launch文件中启动多个,这里为了确保启动顺利,添加了一些延时 (1)、进入主菜单界面在搜索框中输入startup applications (2)、按照如下提示,加入后重启启动即可实现自启动

    2024年02月10日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包