systemd-analyze – 在Linux中查找系统启动性能统计信息
您是否在使用 systemd 系统和服务管理器,并且您的 Linux 系统需要较长时间才能启动,或者您希望查看系统启动性能的报告? 如果是的话,你已经登陆了正确的地方。
在本文中,我们将向您展示如何使用systemd-analyze来分析 Linux 系统启动性能统计信息, systemd是 systemd 中用于系统管理的众多实用程序之一。
另请参阅 : 如何在远程 Linux 服务器上控制系统服务
要获得系统启动时间的概述,我们可以运行systemd-analyze命令而不带任何参数,如下所示。 它将列出每个服务启动需要多长时间的信息,其中包括启动时内核,initrd 和用户空间占用的时间。
- # systemd-analyze
- Startup finished in 884ms (kernel) + 3.861s (initrd) + 48.356s (userspace) = 53.102s
如果要查看所有正在运行的单位的列表,按其初始化时间排序(最高时间位于最前面),blame 子命令用于此目的。 运行后面的命令后,使用[Enter]查看列表中的更多服务,然后q退出。
- # systemd-analyze blame
- 16.159s mariadb.service
- 12.178s libvirtd.service
- 10.298s tuned.service
- 9.836s postfix.service
- 8.704s lsws.service
- 7.352s lscpd.service
- 4.988s [email protected]
- 4.779s NetworkManager-wait-online.service
- 4.577s lvm2-monitor.service
- 4.439s ModemManager.service
- 4.413s polkit.service
- 4.280s dev-sda1.device
- 4.225s systemd-udev-settle.service
- 3.957s firewalld.service
- 3.227s rhel-dmesg.service
- 3.221s abrt-ccpp.service
- 3.142s rsyslog.service
- 3.053s avahi-daemon.service
- 3.042s pure-ftpd.service
- 2.249s gssproxy.service
- 2.212s NetworkManager.service
- 1.889s proc-fs-nfsd.mount
- 1.780s systemd-tmpfiles-setup-dev.service
- 1.451s sshd.service
- 1.267s rhel-readonly.service
- 1.035s sysstat.service
- 1.001s rpc-statd-notify.service
- 910ms systemd-logind.service
- 739ms kdump.service
- 738ms network.service
- ...
从上面的输出中可以看出,每台设备都是基于所花费的时间进行排序的,您可以简单地找出哪些服务在启动和分析问题时花费的时间较长。
接下来,我们还可以使用 critical-chain 子命令查看默认目标或指定单元列表的时间关键链的树,如图所示。
- # systemd-analyze critical-chain
- The time after the unit is active or started is printed after the "@" character.
- The time the unit takes to start is printed after the "+" character.
- multi-user.target @48.342s
- └─mariadb.service @31.560s +16.159s
- └─network.target @31.558s
- └─network.service @30.819s +738ms
- └─NetworkManager-wait-online.service @26.035s +4.779s
- └─NetworkManager.service @23.821s +2.212s
- └─network-pre.target @23.821s
- └─firewalld.service @19.863s +3.957s
- └─polkit.service @15.381s +4.413s
- └─basic.target @12.271s
- └─sockets.target @12.271s
- └─virtlockd.socket @12.270s
- └─sysinit.target @12.251s
- └─systemd-update-utmp.service @12.196s +54ms
- └─auditd.service @11.705s +486ms
- └─systemd-tmpfiles-setup.service @11.609s +93ms
- └─rhel-import-state.service @11.397s +211ms
- └─local-fs.target @11.363s
- └─run-user-0.mount @46.910s
- └─local-fs-pre.target @10.575s
- └─lvm2-monitor.service @5.996s +4.577s
- └─lvm2-lvmetad.service @7.376s
- └─lvm2-lvmetad.socket @5.987s
- └─-.slice
- # systemd-analyze critical-chain ntp.service networking.service
最后,让我们看看一个更重要的子命令,它允许生成图形(svg 格式)详细的已启动的系统服务,以及在什么时候突出显示它们的初始化时间,如下所示。
确保图形显示模式或 x-windows 已启用以查看绘图。
- # systemd-analyze plot > boot_analysis.svg
- # xviewer boot_analysis.svg
Linux 启动分析
以上所有命令都将打印本地机器的启动性能统计信息。 要通过ssh从远程主机查看信息,请使用-H标志并指定[email protected]指令,如图所示。
- # systemd-analyze time -H [email protected]
- # systemd-analyze blame -H [email protected]
- # systemd-analyze critical-chain -H [email protected]
systemd-analysis也可用于从系统和 systemd(服务管理器)等中查找其他状态和跟踪信息。 有关更多信息,请参阅其手册页。
- # man systemd-analyze
另请参阅 : 如何在 SystemD 中更改运行级别(目标)
systemd-analyze – 在Linux中查找系统启动性能统计信息的更多相关文章
- linux中查找命令find、locate、whereis、which、type区别
linux中查找命令find.locate.whereis.which.type区别 1. find Java代码 find是最常见和最强大的查找命令,你可以用它找到任何你想找的文件.与查询数据库(/ ...
- linux中查找文件属于那个软件包的方法
一.linux中查找文件属于那个软件包的方法 [root@salt prod]# whereis htpasswdhtpasswd: /usr/bin/htpasswd /usr/share/man/ ...
- 在Amazon FreeRTOS V10中使用运行时统计信息
在MCU on Eclipse网站上看到Erich Styger在8月2日发的博文,一篇关于在Amazon FreeRTOS V10中使用运行时统计信息的文章,本人觉得很有启发,特将其翻译过来以备参考 ...
- Linux中查找最耗性能的JAVA代码
在这里总结一下查找Linux.Java环境下最耗CPU性能的代码段的方法.基本上原理就是使用top命令查看最耗cpu的进程和线程(子进程).使用jstack把java线程堆栈给dump下来.然后,在堆 ...
- linux中查找(find、locate、which、whereis、grep)命令汇总、帮助命令(man、whatis、apropos、info、help)汇总
(一)find命令详解 find:功能:文件搜索: 语法:find[搜索范围][匹配条件]: 只要匹配条件完全符合才可以被显示,使用通配符*匹配条件*则可以显示匹配条件的所有目录,问号?匹配单个字符 ...
- 如何使用find命令在Linux中查找文件
Linux Find命令是Linux系统管理员工具库中最强大的工具之一. Find是一个命令行实用程序,它允许您根据用户给定的表达式搜索目录层次结构中的文件和目录,并对每个匹配的文件应用用户指定的操作 ...
- 在Linux中监视IO性能
dd命令 iostat命令 理解iostat的各项输出 iostat的应用实例 附:在Windows中监视IO性能 延伸阅读 dd命令 dd其实是工作于比较低层的一个数据拷贝和转换的*nix平台的工具 ...
- linux中查找命令find、locate、whereis、which、type的区别
find find是最常见和最强大的查找命令,你可以用它找到任何你想找的文件.与查询数据库(/var/lib/locatedb)文件不同,find查找的是磁盘空间. locate locate命令其实 ...
- 在 Linux 中查找和删除重复文件
原文链接:https://www.linuxprobe.com/linux-FSlint.html FSlint同时具有GUI和CLI模式.因此,对于新手来说,这是一个用户友好的工具.FSlint不仅 ...
随机推荐
- 轻量级web富文本框——wangEditor使用手册(4)——配置下拉菜单 demo
最新版wangEditor: 配置说明:http://www.wangeditor.com/doc.html demo演示:http://www.wangeditor.com/wangEditor/d ...
- Spring代理
概述 代理(Proxy)是一种设计模式, 提供了对目标对象另外的访问方式:即通过代理访问目标对象. 这样好处: 可以在目标对象实现的基础上,增强额外的功能操作.(扩展目标对象的功能). 举例:假设某用 ...
- CentOS 6.9上inotify-tools 安装及使用方法
文章目录 [隐藏] 一.检查系统内核版本 三.下载安装(下载有点慢) 四.查看inotify默认参数 五.修改inotify参数 六.创建实时监控脚本 (file 里面放的需要监听的目录) 七:实例操 ...
- Sublime Text shift+ctrl 妙用
1 :按住shift+ctrl然后按←或→可快速选中一行中的某一部分,相当于双击鼠标选中. 当你想在代码末尾加注释的话,这个方法很好用 输入文字 -> 光标移到文字末尾 -> 按住shif ...
- Java中带包(创建及引用)的类的编译
Java中带包(创建及引用)的类的编译与调试 java源程序的编译大家都知道,也就是cmd中到源文件所在目录下javac **.java即可,当程序中有包声明还能简简单单的直接javac **.jav ...
- 深入理解java中HelloWorld的执行流程
HelloWorld.java是我们学习java的第一个程序,简单的再也不能简单了,可是里面的原理以及执行流程大家都知道吗?最近在复习java知识,特地钻研了一番分享给大家! 贴出HelloWorld ...
- Tomcat学习总结(12)—— Tomcat集群配置
现目前基于javaWeb开发的应用系统已经比比皆是,尤其是电子商务网站,要想网站发展壮大,那么必然就得能够承受住庞大的网站访问量:大家知道如果服务器访问量过大,就会出现服应用务器崩溃的情况,这个时候怎 ...
- PBN旁切转弯保护区组图
旁切转弯是PBN(Performance Based Navigation基于性能导航)中使用频率最高的一种飞行方式,旁切转弯保护区支持最大120°的转弯. 旁切转弯保护区叠加图: 旁切转弯保护区分解 ...
- EWS Managed API 2.0 设置获取邮件自动回复功能
摘要 最近要在邮件提醒功能中添加,自动回复的功能.在移动端获取用户在outlook上是否开启了自动回复功能,如果用户在outlook上开启了自动回复功能, 获取用户自动回复的内容,如果没有开启,用户可 ...
- JFace TableViewer性能改善 -- 使用VirtualTable
前一篇提到了SWT中的table的通过使用virtual table性能得到很大的改善,那么如果既存的工程中使用的是TableViewer来创建的表,也能改成virtual table吗? 答案是肯定 ...