Linux优化开机启动项

2,090 阅读1分钟

一、审查开机启动日志

$ sudo cat /var/log/boot.log

二、查看开机启动项

$ sudo systemctl list-unit-files --type=service | grep enabled
accounts-daemon.service                    enabled
anacron-resume.service                     enabled
anacron.service                            enabled
bluetooth.service                          enabled
brltty.service                             enabled
[...]

1. 优化

1.1 禁止程序开机启动

#停止程序
$ sudo systemctl stop bluetooth.service

#禁止开机启动
$ sudo systemctl disable bluetooth.service

1.2 查看程序运行状态

$ sudo systemctl status bluetooth.service
 bluetooth.service - Bluetooth service
  Loaded: loaded (/lib/systemd/system/bluetooth.service; disabled; vendor preset: enabled)
  Active: inactive (dead)
    Docs: man:bluetoothd(8)

Loaded: 开机时是否加载:enabled 开机启动,disabled 禁用开机启动; 默认启动状态(vendor preset: enabled)

Active: 程序的运行状态:运行时(running)、停止(dead)

2. 恢复

2.1 设置程序开机自启

# 启动程序
$ sudo systemctl start bluetooth.service

# 开机自启
$ sudo systemctl enable bluetooth.service

3. 禁用无效

3.1 注销应用程序

$ sudo systemctl mask bluetooth.service
 Created symlink from /etc/systemd/system/bluetooth.service to /dev/null.

注销后程序将不能被其他程序调用,(disabled无效时可以考虑使用)

3.2 取消注销程序

$ sudo systemctl unmask bluetooth.service

三、查看程序耗时

1. 查看程序耗时

$ sudo systemd-analyze blame
        8.708s gpu-manager.service
        8.002s NetworkManager-wait-online.service
        5.791s mysql.service
        2.975s dev-sda3.device
        1.810s alsa-restore.service
        1.806s systemd-logind.service
        1.803s irqbalance.service
        1.800s lm-sensors.service
        1.800s grub-common.service

2. 生成启动图表

# 生成图表
$ systemd-analyze plot > plot.svg

#打开图片
$ eog plot.svg