linux – 有没有办法看到systemd的执行树?

前端之家收集整理的这篇文章主要介绍了linux – 有没有办法看到systemd的执行树?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在这个问题下的意思是:有没有办法转储有序列表(就像pstree对进程一样),看看systemd如何执行提供的单元集,即依赖关系解析后的树和排队执行的作业?我知道你可以通过分析系统状态数据来做到这一点,但有没有快速方法来看到这样的树?这对故障调查有很大帮助(例如,如果您发现启动过程卡在某个单元上,您就可以确定您进行深入调查的大致位置.

解决方法

systemd-analyze是你的朋友.
例如,systemd-分析阻塞守护树的关键链输出.
我的例如:
graphical.target @20.211s
└─multi-user.target @20.211s
  └─Nginx.service @19.348s +862ms
    └─network.target @19.347s
      └─NetworkManager.service @10.315s +9.031s
        └─basic.target @10.312s
          └─timers.target @10.311s
            └─systemd-tmpfiles-clean.timer @10.311s
              └─sysinit.target @10.295s
                └─systemd-update-utmp.service @10.167s +127ms
                  └─systemd-tmpfiles-setup.service @10.124s +41ms
                    └─local-fs.target @10.097s
                      └─home-entd-Downloads.mount @10.093s +2ms
                        └─home.mount @9.326s +672ms
                          └─systemd-fsck@dev-sda6.service @8.472s +696ms
                            └─dev-sda6.device @8.471s

NetworkManager在示例中基本上持有整个启动.

如果您想拥有更详细的视图,可以在svg文件中呈现整个执行链.
systemd-analyze plot> something.svg输出整个链(120个模块)作为进度条到高分辨率svg文件,显示状态,被阻止和另一个问题.

最后你有systemd-analyze点工具输出输出整个层次结构的点文件
systemd-analyze dot | dot -Tpng -o stuff.png
使用点工具,您也可以将其输出为ps和svg文件.

所有上述工具都内置在systemd-analyze工具中,默认情况下至少在archlinux中使用systemd.我认为还有一些第三方项目也在处理它.

猜你在找的Linux相关文章