ubuntu开机启动项_如何查看ubuntu server 启动软件-程序员宅基地

技术标签: systemctl  ubuntu  linux  systemd-analyze  

自从将公司电脑的Ubuntu系统升级到了Ubuntu 16.04 (之前是15.04), 每次开机竟然耗时2分钟左右, 简直不能忍! 咋能向Windows看齐(Windows都没这么慢好嘛), 话说以前的Macbook Pro高配开机只要2秒钟…

那么如何找出拖慢开机速度的元凶并将其禁用呢?

systemd自带分析利器systemd-analyze
systemd-analyze有一些参数,大体上来讲就是一些功能, 可以用

man systemd-analyze
来看看:

man systemd-analyze
其中, 对我们比较有用的参数就是blame。

blame : blame是"指责"的意思。

如果你平时使用git来进行版本控制, 那你应该知道有个命令叫

git blame
用git blame加文件名就可以看到文件中每一行最近是谁更改的。

同理, systemd-analyze blame就是显示开机启动项的时间, 从最慢依次列出。

systemd-analyze blame
systemd-analyze blame
可以看到, 最慢的启动项是NetworkManager-wait-online.service, 竟然用了30秒, 不能忍!

禁用之:

sudo systemctl disable NetworkManager-wait-online.service
systemctl命令,从字面上理解就是「控制系统」,因为 systemctl 是 system 和 ctl 的连写,system 是英语「系统」的意思,ctl 则是 control 的缩写,是英语「控制」的意思。
用 man systemctl 可以看到它的解释和用法。
其解释是「Control the systemd system and service manager」,也就是「控制systemd系统和服务管理器」。

sudo systemctl disable NetworkManager-wait-online.service
disable 是英语「使失去能力」的意思。

但是,后来的使用中,我又发现一个拖慢系统的启动项,叫 plymouth-quit-wait.service。这次用 disable 却不能将其彻底禁用。

只能用 mask 来禁用,也就是:

sudo systemctl mask plymouth-quit-wait.service
为什么呢?

因为 mask 这个 systemctl 命令的选项参数是比 disable 更强力的,可以用 man systemctl 来查看。

首先是 disable 的解释:

disable选项
接着看 mask 选项:

mask 选项
看到 mask 选项的解释中有一句英语「This is a stronger version of disable, since it prohibits all kinds of activation of the unit, including enablement and manual activation.」

翻译过来就是:「这是一个增强版本的 disable,因为它阻止了所有激活这个单元的行为,包括启用和手动激活」。

mask 是英语「掩盖,遮蔽」的意思。

可以看到执行了上面的 sudo systemctl mask plymouth-quit-wait.service 这句命令后的输出:

Created symlink from /etc/systemd/system/plymouth-quit-wait.service to /dev/null.
也就是说 mask 选项把 plymouth-quit-wait.service 直接软链接到了 /dev/null 这个著名的「黑洞」中去了,然后世界就清净了。

题外
其实, 昨天我还禁用了两个启动项, 都是fstab中的, 用于挂载(mount)服务器上的nfs磁盘, 每一个竟然用了1分钟左右 (用systemd-analyze blame看到的):

用vim编辑器打开/etc/fstab文件(记得要加sudo哦, 不然不能修改此文件):

sudo vim /etc/fstab
/etc/fstab auto
就是上图中

172.19.0.133:/mnt/androidstorage/NFS_RO /mnt/nfs_ro
172.19.0.133:/mnt/androidstorage/NFS_RW /mnt/nfs_rw
那两行, 表示

把远端服务器172.19.0.133上的/mnt/androidstorage/NFS_RO挂载(sudo mount)到本机的/mnt/nfs_ro

把远端服务器172.19.0.133上的/mnt/androidstorage/NFS_RW挂载(sudo mount)到本机的/mnt/nfs_rw

如何禁用呢?

在options那一列中加上 noauto即可, 表示不自动启动。

auto是automatic的缩写, 表示"自动"。而noauto就是not/no automatic的缩写, 表示"不自动"。

/etc/fstab noauto
用man fstab来学习一下fstab中每一列的含义:

man fstab
man fstab default auto
可以看到, 默认情况下(default中)是auto的, 也就是说默认情况下会在开机时自动挂载那两个nfs磁盘。

如此处理之后, 再次重启电脑:

sudo reboot
这回, 电脑启动只要几秒啦!

小结
所以, 如果想加快开机启动, 只要先用

systemd-analyze blame
列出开机启动项的时间, 然后禁用(用 systemctl disable 或 mask)那些很慢的即可。
systemd-analyze plot > ./boot.xml
dmesg > /tmp/boot.txt
可以更直观的查看systemd-analyze

不过也要小心, 不要禁用了系统的关键启动项。
对应的可以使用unmask和enable

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/vivian_wanjin/article/details/82562041

智能推荐

RAID0/1/5/6/10/50/JBOD如何选择_jbod ugood使用哪个好-程序员宅基地

文章浏览阅读9k次。曾经写过一遍文章讲解过RAID各版本的功能,但很多朋友明白了技术知识,但却不知道如何选择_jbod ugood使用哪个好

eclipse实现既能编写Java代码和又能编写python代码(eclipse实现编写python详细流程)_如何写python的同时又可以写java-程序员宅基地

文章浏览阅读1.2k次,点赞2次,收藏2次。此为原创,若转载,请注明!!!!问题提出大家是否有过这样的困惑,在大学期间电脑里装了很多的编程软件,那有没有一个能集成的勒?解决方案用eclipse即可实现既能编写Java、Java EE、还能编写python。同时再结合anaconda 3.5.2(python3.6)简直不要太爽。强烈推荐anaconda 3.5.2!!!! 可以查看我的另一博客教程进行安装anaconda安装详解...._如何写python的同时又可以写java

C# 三层架构编写员工信息管理系统_基于c#的员工信息管理系统-程序员宅基地

文章浏览阅读1.5k次。C# 三层架构编写员工信息管理系统首先感谢B站某up主的学习资源。DAL与数据库进行交互,获取数据。封装了三种获取数据的方法(1)获取整张表的数据(2)查找某个字段,并返回是否存在(3)用于增删改,返回受影响对象BLL调用DAL层数据,由于信息管理系统不需要对数据进行再处理,因此在此例中直接将数据传给UI层。UI数据进行显示本案例是基于三成架构和数据库的实战案例,具有查找员工信息,添加删除员工,绩效打分等功能。..._基于c#的员工信息管理系统

Vue项目首次加载慢的优化方法_vue首屏加载慢优化方案-程序员宅基地

文章浏览阅读5.5k次。Vue组件按需加载,用v-if代替v-show图片延迟加载,等页面主体加载好后,再加载_vue首屏加载慢优化方案

安卓打包APK so丢失,强制加入方法_apk应用安装好,少一个so,如果放讲去?-程序员宅基地

文章浏览阅读1.5k次。build.gradle文件里加入:android { //打包apk的时候添加.so文件 task nativeLibsToJar(type: Zip, description: "create a jar archive of the native libs") { destinationDir file("$projectDir/libs")_apk应用安装好,少一个so,如果放讲去?

Eclipse安装包 百度网盘_eclipse安装包百度网盘-程序员宅基地

文章浏览阅读2.8w次,点赞24次,收藏19次。我自己在官网下的一直有问题,打不开,分享一个百度云资源,永久有效链接:https://pan.baidu.com/s/1wqs9sTPVfBJTpYlu312kWw提取码:0c5p复制这段内容后打开百度网盘手机App,操作更方便哦网上很多教程,大部分不详细或者是有问题,我的收藏夹Java里有一个非常详细的教程..._eclipse安装包百度网盘

随便推点

Error: No such file or directory @ rb_sysopen_no such file or directory @ rb_sysopen - /users/dh-程序员宅基地

文章浏览阅读7.1k次,点赞4次,收藏3次。因为mac下的phpstorm需要用到PlantUML,然后需要brew install graphviz报错:==> Pouring [email protected]_1.big_sur.bottle.tar.gzError: No such file or directory @ rb_sysopen - /Users/*****/Library/Caches/Homebrew/downloads/8049a4964d208b824a1a66fcb90a9a07d6a17033b8_no such file or directory @ rb_sysopen - /users/dhadmin/library/caches/homeb

c语言给日期算星期,已知日期,算改日是星期几-程序员宅基地

文章浏览阅读388次。已知日期,算改天是星期几?我的思想是这样的:以公元0年1月1日星期天为基准,算出要求的日期与该日期的天数差,然后再对7求模。余数为0:星期天余数为1:星期一余数为2:星期二余数为3:星期三余数为4:星期四余数为5:星期五但是这个程序算出来的的星期数总会比当前星期数多1,麻烦各位帮我看看,谢谢。#include#include#include#include#includei..._c语言日期转星期

[实战Google深度学习框架]Tensorflow(7)自然语言处理_nlp sos_id-程序员宅基地

文章浏览阅读1.6k次,点赞3次,收藏3次。本篇blog主要以code+markdown的形式介绍tf这本实战书。(建议使用jupyter来学习)第九章 自然语言处理 9.1 语言模型的背景知识 9.2 神经语言模型 9.3 神经网络机器翻译 9.1 语言模型的背景知识9.1.1 语言模型简介把句子看成单词的序列,语言模型可以表示为一个计算的模型。 生成自然语言文本的应用依赖语言模型来优化输出文..._nlp sos_id

【汇智学堂】-Hadoop分布式集群准备工作-12(配置计算框架mapred-site.xml)_配置mapred-site.xml之前,有其他内容吗,-程序员宅基地

文章浏览阅读431次。配置计算框架mapred-site.xml步骤一:vim mapred-site.xml将下面的内容写入。<?xml version="1.0"?><?xml-stylesheet type="text/xsl" href="configuration.xsl"?> mapreduce.framework.name yarn ..._配置mapred-site.xml之前,有其他内容吗,

编译原理 实验4 语义分析(基于PL/0,使用C++代码编写)_编译原理语义分析实验代码-程序员宅基地

文章浏览阅读7.8k次,点赞12次,收藏117次。1 实验任务审查每一个语法结构的静态语义,即验证语法正确的结构是否有意义。此部分不再借助已有工具,需手写代码来完成。2 实验内容(1)实验要求你的程序需要对输入文件进行语义分析并检查错误进行输出。(2)输入格式一个包含源代码的文本文件,程序需要能够接收一个输入文件名作为参数。(3)输出格式要求通过标准输出打印程序的运行结果。对于那些没有语义错误的输入文件,你的程序不需要输出任何内容。对于那些存在语义错误的输入文件,你的程序应当输出相应的错误信息,这些信息包括错误类型、出错的行号以及说明文字,_编译原理语义分析实验代码

盛金公式(一元三次方程的解)-程序员宅基地

文章浏览阅读2.3k次,点赞2次,收藏3次。_盛金公式

推荐文章

热门文章

相关标签