概述
systemd-analyze 幫助系統管理員識別系統啟動過程中的瓶頸,並測量每個服務對啟動的貢獻時間,從而診斷和解決效能問題。
主要功能
- 測量總啟動時間
- 分析個別服務和單元的啟動時間
- 識別對啟動影響最大的「關鍵鏈」
- 啟動過程可視化(SVG、DOT 圖形)
- 驗證 systemd 單元檔案
主要選項
與 systemd-analyze 命令一起使用的主要選項。
啟動時間分析
可視化與調試
生成的命令:
請試著組合命令。
這個 Django 應用程序是一個技術指南文檔,旨在為用戶輕鬆解釋 Linux 的各種命令。
`systemd-analyze` 執行命令。
請將上述選項組合在一起,與 AI 一同虛擬執行命令。
使用範例
systemd-analyze 命令的各種使用範例。
檢查總啟動時間
systemd-analyze
檢查系統的總啟動時間。
檢查服務啟動時間
systemd-analyze blame
按降序排列並顯示每個服務啟動所花費的時間。
分析啟動關鍵鏈
systemd-analyze critical-chain
檢查對啟動完成影響最大的單元的依賴鏈。
啟動時間可視化 (SVG)
systemd-analyze plot > boot.svg
以 SVG 格式生成啟動過程的圖形,並將其保存為 'boot.svg' 檔案。該檔案可以在網頁瀏覽器中打開。
驗證單元檔案
systemd-analyze verify /etc/systemd/system/my-custom.service
檢查指定的 systemd 單元檔案的語法錯誤或配置錯誤。
提示與注意事項
使用 systemd-analyze 時的實用提示和注意事項。
安裝 Graphviz
若要使用 plot 或 dot 選項生成可視化圖形,需要安裝 Graphviz 套件。
- Debian/Ubuntu: sudo apt install graphviz
- CentOS/RHEL: sudo yum install graphviz
解釋 blame 結果
systemd-analyze blame 的結果顯示每個單元「啟動所花費的時間」,但由於 systemd 並行啟動許多服務,因此不能僅憑最長的服務時間來斷定是啟動延遲的原因。與 critical-chain 一起分析會更準確。
啟動優化
可以通過移除 critical-chain 中識別出的單元的非必要依賴,或更改服務啟動類型(例如:on-demand)來縮短啟動時間。