Systemd启动性能优化工具systemd-analyze

Systemd 启动性能优化工具systemd-analyze

    • systemd-analyze简介
      • 列出与单元相关的全部目录
      • 查看systemd启动总耗时
      • 查看systemd启动耗时明细
      • 显示系统启动过程中关键的systemd单元(units)之间的依赖关系和时间信息
        • 查看指定服务启动依赖关系和时间信息
      • 查看有哪些开机启动的服务可被优化
      • 导出到SVG分析图
      • 检查服务单元(units)文件语法是否正确
      • 分析指定服务单元的安全性和沙箱设置
      • 查看systemd设置的日志级别
      • 临时设置systemd的日志级别
      • 永久修改systemd的日志级别
      • 打印systemd守护进程当前的日志等级
      • 查看systemd守护进程当前的日志目标
      • 临时修改systemd的日志目标
      • 显示全部系统调用集合的详情

systemd-analyze简介

systemd-analyze是一个用于分析和诊断 Systemd 启动性能的命令行工具,主要用于分析和优化systemd系统启动速度。
https://opensource.com/article/20/9/systemd-startup-configuration

https://blog.csdn.net/easylife206/article/details/103790052

https://www.redhat.com/sysadmin/mastering-systemd

https://www.jinbuguo.com/systemd/systemd-analyze.html


列出与单元相关的全部目录

包括:
单元文件目录、配置片段目录(.d)、 依赖关系目录(.wants 与 .requires)。
与 --user 一起使用时表示针对 systemd 用户实例。
与 --global 一起使用时表示针对 systemd 用户实例的全局配置。

# 列出与单元相关的全部目录
systemd-analyze unit-paths

Systemd启动性能优化工具systemd-analyze_第1张图片


查看systemd启动总耗时

# 查看systemd启动总耗时
systemd-analyze

在这里插入图片描述


查看systemd启动耗时明细

# 查看systemd启动耗时明细
systemd-analyze blame

Systemd启动性能优化工具systemd-analyze_第2张图片


显示系统启动过程中关键的systemd单元(units)之间的依赖关系和时间信息

# 显示系统启动过程中关键的systemd单元(units)之间的依赖关系和时间信息
systemd-analyze critical-chain

Systemd启动性能优化工具systemd-analyze_第3张图片


查看指定服务启动依赖关系和时间信息

可以看到network.service耗时 最长,花了17.201秒。
这里的记时有可能是等待其他服务器启动的,再来看看其关联服务的启动时间:

# 查看指定服务启动依赖关系和时间信息
systemd-analyze critical-chain network.service

Systemd启动性能优化工具systemd-analyze_第4张图片


查看有哪些开机启动的服务可被优化

# 查看有哪些开机启动的服务可被优化
systemctl list-unit-files --type=service | grep enabled

Systemd启动性能优化工具systemd-analyze_第5张图片


导出到SVG分析图

# 导出到SVG分析图
systemd-analyze plot > /tmp/bootup.svg

Systemd启动性能优化工具systemd-analyze_第6张图片

# 生成描述单元间依赖关系的 SVG 图
systemd-analyze dot | dot -Tsvg > systemd.svg

检查服务单元(units)文件语法是否正确

创建新的单元文件后,验证其语法是否正确,如果配置正确不会有输出

# 服务单元(units)文件验证
systemd-analyze verify 服务单元路径

在这里插入图片描述


分析指定服务单元的安全性和沙箱设置

# 分析指定服务单元的安全性和沙箱设置
systemd-analyze security 服务单元

Systemd启动性能优化工具systemd-analyze_第7张图片


查看systemd设置的日志级别

# 查看systemd当前设置的日志级别
systemctl -pLogLevel show

Systemd启动性能优化工具systemd-analyze_第8张图片


临时设置systemd的日志级别

# 临时修改systemd的日志级别为notice
systemd-analyze set-log-level notice

# 查看systemd当前设置的日志级别
systemctl -pLogLevel show

永久修改systemd的日志级别

# 修改systemd配置文件
vim /etc/systemd/system.conf

image.pngSystemd启动性能优化工具systemd-analyze_第9张图片

# 修改完配置后重启systemd守护进程
systemctl daemon-reload

打印systemd守护进程当前的日志等级

# 打印systemd守护进程当前的日志等级
systemd-analyze get-log-level

image.png


查看systemd守护进程当前的日志目标

# 打印systemd 守护进程当前的日志目标
systemd-analyze get-log-target

Systemd启动性能优化工具systemd-analyze_第10张图片


临时修改systemd的日志目标

# 将systemd守护进程的日志目标更改为 TARGET
systemd-analyze set-log-target TARGET

显示全部系统调用集合的详情

# 查看所有过滤器
systemd-analyze syscall-filter

Systemd启动性能优化工具systemd-analyze_第11张图片

systemd-analyze syscall-filter [SET…] 如果指定了至少一个 SET 参数,那么仅显示指定的集合所包含的系统调用列表; 否则显示全部系统调用集合的详情。注意,必须在 SET 参数中包含 “@” 前缀。

# 查看指定过滤器
systemd-analyze syscall-filter @ipc

Systemd启动性能优化工具systemd-analyze_第12张图片

你可能感兴趣的:(Systemd,systemd-analyze,systemd)