Ubuntu systemd-analyze命令(系统启动性能分析工具:分析系统启动时间,找出可能导致启动缓慢的原因)

文章目录

  • Ubuntu systemd-analyze命令剖析
    • 目录
    • 简介
      • systemd与systemd-analyze
      • 工作原理
    • 安装和使用
    • 命令参数详解
    • 用例与示例
      • 显示启动时间(systemd-analyze time)
      • 列出启动过程中各个服务的启动时间(systemd-analyze blame)
      • 显示系统启动过程的关键链(systemd-analyze critical-chain)
      • 生成启动过程的SVG图像(systemd-analyze plot > boot.svg)
    • 性能优化

Ubuntu systemd-analyze命令剖析

systemd-analyze是一个用于系统启动性能分析的强大工具,本文将全面解析该命令在Ubuntu系统中的应用。

目录

简介

systemd与systemd-analyze

systemd 是Linux系统中一种广泛使用的初始化系统,它负责引导用户空间并管理系统进程。它主要由两部分组成:一个系统/服务管理器,以及众多工具和库。

其中,systemd-analyzesystemd 的一个工具,可以提供有关系统启动过程的信息。它可以帮助用户分析系统启动时间,并找出可能导致启动缓慢的原因。

工作原理

systemd-analyze 主要通过读取系统日志(journal)和分析systemd的内部数据结构来获取系统启动信息。此外,它还可以生成启动过程的图形表示,这对于可视化分析系统启动流程非常有用。


安装和使用

在大多数Ubuntu版本中,systemd-analyze已经被默认安装。如果未安装,可以通过以下命令进行安装:

sudo apt-get install systemd

使用 systemd-analyze,只需在命令行中输入:

systemd-analyze

命令参数详解

systemd-analyze 提供了许多命令行选项和参数,可以用于定制分析的内容和格式。以下是一些最常用的选项:

  • time:显示启动过程中花费的总时间。
  • blame:显示每个服务的启动时间,以帮助找出导致启动缓慢的服务。
  • critical-chain:显示系统启动过程中的关键路径,这有助于找出哪些服务在启动过程中相互依赖。
  • plot:生成一个SVG图像,表示系统启动过程的时间线。

用例与示例

以下是 systemd-analyze 的一些常见用例和示例:

显示启动时间(systemd-analyze time)

systemd-analyze time

在这里插入图片描述

列出启动过程中各个服务的启动时间(systemd-analyze blame)

systemd-analyze blame

在这里插入图片描述

上面有的启动耗时较长的服务可以选择关掉,以下是对以上服务的分析:

  1. systemd-networkd-wait-online.service: 这个服务等待网络连接可用。如果你的系统不依赖于启动时立即有网络连接,那么你可以尝试关闭它。

  2. apt-daily-upgrade.serviceapt-daily.service: 这两个服务用于处理和应用系统更新。通常情况下,我们不推荐关闭它们,因为这可能会导致你错过重要的安全更新。但是,如果你正在寻找缩短启动时间,可以考虑禁用它们,并定期手动进行系统更新。

  3. dev-nvme0n1p1.device: 这个服务是关于硬盘驱动器的,建议不要关闭。

  4. nv-l4t-usb-device-mode.servicenv.service: 这两个服务似乎与NVIDIA硬件相关。如果你正在使用相关硬件,最好不要关闭它们。

  5. docker.servicecontainerd.service: 如果你不使用Docker,你可以关闭这些服务。

  6. alsa-restore.service: 这个服务用于恢复声音卡设置。如果你不需要声音功能,可以考虑关闭它。

  7. nvpmodel.service: 这个服务用于管理NVIDIA Jetson平台的功率模式。如果你正在使用Jetson硬件,最好不要关闭它。

  8. snapd.seeded.servicesnapd.service: 这些服务用于管理Snap应用。如果你不使用Snap应用,你可以关闭这些服务。

  9. nv-l4t-bootloader-config.service: 这个服务似乎与NVIDIA的bootloader相关,建议不要关闭。

  10. systemd-udev-trigger.service: 这个服务用于触发udev事件,通常情况下,最好不要关闭。

  11. xrdp.service: 这个服务是远程桌面协议服务,如果你不需要远程访问,可以关闭它。

  12. networkd-dispatcher.service: 这个服务用于处理网络状态变化的事件。如果你的系统不依赖于动态网络配置,那么你可以尝试关闭它。

  13. user@124.service: 这可能是特定用户的服务,没有足够的信息来判断是否可以关闭。

显示系统启动过程的关键链(systemd-analyze critical-chain)

systemd-analyze critical-chain

在这里插入图片描述

上游的目标受下游目标启动影响。

生成启动过程的SVG图像(systemd-analyze plot > boot.svg)

systemd-analyze plot > boot.svg

在这里插入图片描述

在这里插入图片描述


性能优化

通过 systemd-analyze 分析后,可能会发现一些服务导致系统启动变慢。针对这种情况,可以尝试以下优化方法:

  • 禁用不必要的服务:有些服务可能并不总是需要在启动时运行。可以通过 systemctl disable <service> 命令来禁用这些服务。
  • 修改服务依赖关系:有时,服务之间的依赖关系会导致启动延迟。通过修改服务的配置文件(位于 /etc/systemd/system/lib/systemd/system),可以改变这些依赖关系。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/185946.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用opencv实现图像滤波

1 图像滤波介绍 滤波是信号和图像处理中的基本任务之一&#xff0c;其旨在有选择地提取图像的某些特征&#xff0c;可以用于在给定应用程序的上下文中传达重要信息&#xff0c;例如&#xff0c;去除图像中的噪声、提取所需的视觉特征、图像重采样等。 1.1 图像滤波理论 图像…

厦门城市建设与建筑结构健康监测系统的重要性与作用

厦门&#xff0c;这座美丽的海滨城市&#xff0c;随着经济的快速发展和城市化的不断推进&#xff0c;城市建设已成为人们关注的焦点。其中&#xff0c;建筑结构健康监测系统对于保障城市建设和建筑的安全具有举足轻重的地位。 WITBEE万宾针对建筑的动态平衡&#xff0c;温湿度&…

shell编程系列(7)-使用wc进行文本统计

文章目录 前言wc命令的使用wc命令的参数说明&#xff1a;统计字数统计行数打印文本行号 结语 前言 统计功能也是我们在shell编程中经常碰到的一个需求&#xff0c;wc命令可以适用于任何需要统计的数据&#xff0c;不只是统计文本&#xff0c;配合ls命令我们可以统计文件的个数…

java gc垃圾回收机制(垃圾收集 Garbage Collection)

一文带你深入JAVA GC&#xff08;垃圾回收机制&#xff09;面试讲解&#xff01;&#xff01;&#xff01; - 知乎 gc常用算法 gc常用算法有&#xff1a;标记-清除算法&#xff0c;标记-压缩算法&#xff0c;复制算法&#xff0c;分代收集算法。 复制算法&#xff08;Java中…

java--子类构造器的特点

1.子类构造器的特点 子类的全部构造器&#xff0c;都会先调用父类的构造器&#xff0c;再执行自己。 2.子类构造器是如何实现调用父类构造器的 ①默认情况下&#xff0c;子类全部构造器的第一行代码都是super()(写不写都有)&#xff0c;它会调用父类的无参数构造器。 ②如果…

【攻防世界-misc】来自银河的信号

1.下载并打开文件&#xff0c;是个音频软件 2.由于打开音频出现的声音类似于无线波&#xff0c;因此需要用RX-SSTV工具打开&#xff0c; RX-SSTV代表“接收图像慢扫描电视”的意思。慢扫描电视是一种通过无线电进行图像传输的技术&#xff0c;通常用于业余无线电领域。RX-SST…

分治法之归并排序

思路: 将待排序数组分成两个子数组&#xff0c;计算中间位置mid。对左半部分进行递归排序&#xff0c;得到一个有序的子数组。对右半部分进行递归排序&#xff0c;得到另一个有序的子数组。合并两个有序的子数组&#xff0c;得到一个完整的有序数组。 示例图: 代码: #include&…

JAVA 算法面试总结

1、二分查找 二分查找又叫折半查找&#xff0c;要求待查找的序列有序。每次取中间位置的值与待查关键字比较&#xff0c;如果中间位置 的值比待查关键字大&#xff0c;则在前半部分循环这个查找的过程&#xff0c;如果中间位置的值比待查关键字小&#xff0c; 则在后半部分循环…

【ONE·Linux || 网络基础(四)】

总言 主要内容&#xff1a;传输层UDP、TCP协议基本介绍。UDP报文格式、TCP报文格式、三次握手四次挥手、TCP可靠性策略说明。 文章目录 总言8、UDP协议&#xff08;传输层一&#xff09;8.1、传输层预备知识8.1.1、端口号8.1.2、一些指令&#xff08;netstat、pidof、xargs&am…

热烈欢迎省工信厅毛郑建处长莅临公司调研指导工作

2023年11月28日&#xff0c;河南省工信厅信息化和软件服务业处毛郑建处长莅临郑州埃文计算机科技有限公司&#xff08;以下简称“埃文科技”&#xff09;调研考察工作。河南省工业信息安全产业发展联盟理事长任传军陪同调研。 首先&#xff0c;埃文科技董事长王永向毛处长介绍埃…

优维全新低碳产品亮相SBE23 Asia-Pacific绿色建筑促进碳中和论坛

2023年11月23日—24日&#xff0c;由深圳市人民政府主办&#xff0c;深圳市住房和建设局、深圳市发展与改革委员会、深圳市龙岗区人民政府承办&#xff0c;深圳市绿色建筑协会作为执行单位的“2023年可持续建筑环境亚太地区会议&#xff08;SBE23 Asia-Pacific&#xff09;”在…

Ubuntu Server 20.04.6安装Anaconda3

下载安装包 去下面的网页找到自己想要安装的对应版本的链接&#xff1a; https://repo.anaconda.com/archive/ 我安装的版本链接如下&#xff1a; https://repo.anaconda.com/archive/Anaconda3-2023.09-0-Linux-x86_64.sh 复制这个链接后使用如下命令下载&#xff1a; wget …

一篇文章带你掌握MongoDB

文章目录 1. 前言2. MongoDB简介3. MongoDB与关系型数据库的对比4. MongoDB的安装5. Compass的使用6. MongoDB的常用语句7. 总结 1. 前言 本文旨在帮助大家快速了解MongoDB,快速了解和掌握MongoDB的干货内容. 2. MongoDB简介 MongoDB是一种NoSQL数据库&#xff0c;采用了文档…

arthas使用

官方文档 Github: https://github.com/alibaba/arthas 文档: https://arthas.aliyun.com/doc/ Arthas 是一款线上监控诊断产品&#xff0c;通过全局视角实时查看应用 load、内存、gc、线程的状态信息&#xff0c;并能在不修改应用代码的情况下&#xff0c;对业务问题进行诊断…

C语言从入门到实战——常用字符函数和字符串函数的了解和模拟实现

常用字符函数和字符串函数的了解和模拟实现 前言1. 字符分类函数2. 字符转换函数3. strlen的使用和模拟实现4. strcpy的使用和模拟实现5. strcat的使用和模拟实现6. strcmp的使用和模拟实现7. strncpy函数的使用8. strncat函数的使用9. strncmp函数的使用10. strstr的使用和模拟…

MatchPyramid实现文本匹配

引言 今天利用MatchPyramid实现文本匹配。 原论文解析→点此←。 MatchPyramid 核心思想是计算两段文本间的匹配矩阵&#xff0c;把它当成一个图形利用多层卷积网络提取不同层级的交互模式。 匹配矩阵是通过计算两段输入文本基本单元(比如字或词)之间相似度得到的&#xf…

43.0BaseDao抽取dao公共父类

43.1. 回顾 1. 把数据库表中查询的结果封装到一个实体类中。 命名规则:类名和表名一致 类中属性和表的字段对应。 表中的一条记录对应实体的一个对象 多条记录→集合 43.2. 正文 目录 43.1. 回顾 43.2. 正文 43.3. 抽取dao公共父类。 43.4. 引入数据源 43.3. 抽取dao公共…

C#测试开源运行耗时库MethodTimer.Fody

微信公众号“dotNET跨平台”的文章《一个监控C#方法运行耗时开源库》介绍了支持测量方法耗时的包MethodTimer.Fody&#xff0c;使用方便&#xff0c;还可以自定义输出信息格式。本文学习并测试MethodTimer.Fody包的使用方式。   新建控制台程序&#xff0c;通过Nuget包管理器…

Python链式调用技巧:代码流畅无缝连接

更多资料获取 &#x1f4da; 个人网站&#xff1a;ipengtao.com 链式调用是一种编程风格&#xff0c;它允许将多个方法调用连接在一起&#xff0c;形成一个连贯的操作链。在Python中&#xff0c;链式调用常常用于使代码更简洁、易读&#xff0c;尤其在处理数据处理和函数式编程…

web:ics-05(本地文件包含漏洞、preg_replace函数/e漏洞、php伪协议读取文件)

题目 打开页面显示如下 只有这个页面能打开 显示如下 用dirsearch扫一下 查看了一下&#xff0c;发现没什么用 查看页面源代码 返回了&#xff0c;写入的参数&#xff0c;猜测可能有文件包含漏洞 用php伪协议读取文件 构造payload ?pagephp://filter/readconvert.base64-en…