systemd-analyze和systemctl常用方法

(一)systemd-analyze

1 systemd-analyze [OPTIONS...] [time]

启动时间:内核态时间+用户态时间.

2 systemd-analyze blame

显示上次开机时的所有服务,并显示服务耗时.

3 systemd-analyze [OPTIONS...] critical-chain [UNIT...]

为指定的单元(省略参数表示默认启动目标单元)以树状形式显示时间关键链(time-critical chain)。

 "@"后面的时刻表示该单元的启动时刻; "+"后面的时长表示该单元总计花了多长时间才完成启动。 

不过需要注意的是, 这些信息也可能具有误导性, 因为花费较长时间启动的单元, 有可能只是在等待另一个依赖单元完成启动。

#systemd-analyze critical-chain smbd.service

给出的树形关键路径就是该unit的最长耗时路径.

4 systemd-analyze [OPTIONS...] plot [> file.svg]

输出一个 SVG 图像,详细显示每个单元的启动时刻, 并高亮显示每个单元总计花了多长时间才完成启动。

#systemd-analyze plot > boot.svg

详细的systemd启动流程,直到graphical.target.

boot.svg拖入浏览器显示.

5 systemd-analyze [OPTIONS...] dot [PATTERN...] [> file.dot]

apt install graphviz

按照 GraphViz dot(1) 格式输出单元间的依赖关系图,绘制unit间的依赖关系.

#systemd-analyze dot smbd.service | dot -Tsvg > systemd.svg         

#用浏览器打开查看

#systemd-analyze dot 'dbus*' | dot -Tsvg > dus.svg

把所有名称以 "dbus"开头的单元的依赖关系绘制成一张图

#systemd-analyze dot --to-pattern='*.target' --from-pattern='*.target' | dot -Tsvg > targets.svg

把所有 target 单元之间的依赖关系绘制成一张图

--from-pattern=, --to-pattern=

仅可与 dot 命令一起使用, 用于筛选可以出现在依赖关系图中的单元。 这两个选项都接受一个符合 glob(7) 规范的 shell 匹配模式(例如 *.target), 用于匹配单元的名称。

可以多次使用这两个选项, 以筛选 最终允许出现在依赖关系图中的单元, 多个选项的组合规则如下: 

先将多个"from"选项视为一组(内部用"OR"逻辑连接)、 再将多个"to"选项视为一组(内部用"OR"逻辑连接), 最后再将"from"组与"to"组之间用"AND"逻辑连接。 最终计算出可以出现在依赖关系图中的单元。

#systemd-analyze dot network.target network-pre.target network-online.target | dot -Tsvg >network.svg

network.target的依赖图里可能有其他的target,可以同时展开所有的target

6 systemd-analyze unit-paths

列出与单元相关的全部目录, 包括:单元文件目录、配置片段目录(.d)、 依赖关系目录(.wants 与 .requires)。

与 --user 一起使用时表示针对 systemd 用户实例。与 --global 一起使用时表示针对 systemd 用户实例的全局配置。

(二)systemctl

1 systemctl list-units --all --type=service

列出系统所有服务

2 systemctl status dummy.service

查看service状态

3 systemctl is-enabled  dummy.service

查看service是否开启

4 systemctl enable dummy.service

开启service

5 systemctl disable dummy.service

关闭service

6 systemctl list-dependencies lightdm

显示出lightdm的必须依赖,即systemd-analyze dot画出的svg中的黑色线条

参考资料:

systemd-analyze 中文手册 [金步国]

使用systemd-analyze 工具来分析各个服务进程的启动性能_weixin_30701521的博客-CSDN博客

systemd

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值