Linux起動パフォーマンスを確認する(systemd-analyze)

HOMELinux技術 リナックスマスター.JP(Linuxマスター.JP)Linuxtips, 起動 > Linux起動パフォーマンスを確認する(systemd-analyze)

人気セミナーリナックスマスター2日間集中セミナー【CentOS7版】


 無料進呈 CentOS7サーバー構築マニュアル無料プレゼント


systemdを採用しているLinuxシステムで
起動パフォーマンスを確認したい場合には、systemd-analyzeを使用します。

systemd-analyzeを使用するには、
systemdを採用しているLinuxシステムで
root権限、またはsudo権限を持つユーザーが必要です。

systemd-analyzeでsystemdのパフォーマンス分析

$ sudo systemd-analyze
Startup finished in 9.525s (kernel) + 31.979s (initrd) + 3min 56.751s (userspace) = 4min 38.256s


上記の実行例の結果は次の通りになります。
・カーネル (kernel):9.525s
・初期RAMディスク(initrd) :31.979s
・ユーザースペース:3min 56.751s
・合計:4min 38.256s


 無料進呈 CentOS7サーバー構築マニュアル無料プレゼント



systemd-analyze blameで全サービスの起動時間を表示

Linuxの起動があまりにも遅い場合に、原因特定するには、
systemd-analyzeにblameオプションを付与して実行します。

これを実行すると、Linuxシステム上で起動する
すべてのサービスと起動時間を一覧表示できます。

$ sudo systemd-analyze blame 3min 7.249s clamd.service 30.908s dev-mapper-centos_tiger\x2droot.device 26.153s tuned.service 12.920s httpd.service 10.892s lvm2-pvscan@8:3.service 10.772s lvm2-pvscan@8:2.service 6.810s boot.mount 6.346s rc-local.service 4.584s network.service 4.067s systemd-vconsole-setup.service    〜中略〜 307ms systemd-tmpfiles-setup.service 297ms systemd-tmpfiles-clean.service 210ms sys-kernel-config.mount 163ms systemd-fsck-root.service 133ms plymouth-read-write.service 101ms systemd-update-utmp.service 74ms systemd-rfkill@rfkill0.service 33ms systemd-update-utmp-runlevel.service 14ms fprintd.service

※ページが多い場合は、「スペース」キーを押しと次ページに進みます。
途中、最終ページで「q」を入力することで終了します。

上記の結果では、clamd.serviceが3min 7.249s 掛かっている事が分かります。

systemd-analyze critical-chainで呼び出しチェーンの起動時間を表示

時間の掛かっている呼び出しチェーンを表示したい場合は、
systemd-analyzeにcritical-chainオプションを付与して実行します。

$ sudo 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 @3min 56.712s
mqmysqld.service @3min 55.581s +1.130s
mqclamd.service @48.307s +3min 7.249s
mqnetwork-online.target @48.304s
mqnetwork.target @48.301s
mqnetwork.service @43.710s +4.584s
mqNetworkManager-wait-online.service @40.728s +2.950s
mqNetworkManager.service @38.723s +1.978s
mqdbus.service @38.276s
mqbasic.target @38.109s
mqpaths.target @38.109s
mqbrandbot.path @38.108s
mqsysinit.target @38.074s
mqsystemd-update-utmp.service @37.969s +101ms
mqauditd.service @36.436s +1.528s
mqsystemd-tmpfiles-setup.service @36.110s +307ms
mqrhel-import-state.service @35.507s +595ms
mqlocal-fs.target @35.439s
mqrun-user-1000.mount @3min 23.910s
mqswap.target @34.226s
mqdev-mapper-centos_tiger\x2dswap.swap @33.687s +516ms
mqdev-mapper-centos_tiger\x2dswap.device @33.323s


systemd-analyze plotで起動時間を可視化する

systemd-analyzeにplotオプションを付与して実行すれば、
起動時間を画像で可視化することもできます。
下の例では、systemd-analyze-plot.svgファイルに可視化結果を出力しています。

$ systemd-analyze plot > systemd-analyze-plot.svg


systemd-analyze-plot.svgファイルを開くと、可視化された結果が表示されます。
systemd-analyze-plot.jpg

systemd-analyze dumpで詳細ログを確認する

systemd-analyzeにdumpオプションを付与して実行すれば、 より詳細なログが得られます。

$ sudo systemd-analyze dump -> Unit sys-devices-pnp0-00:05-tty-ttyS0.device: Description: /sys/devices/pnp0/00:05/tty/ttyS0 Instance: n/a Unit Load State: loaded Unit Active State: active Inactive Exit Timestamp: Wed 2020-02-19 14:02:01 JST Active Enter Timestamp: Wed 2020-02-19 14:02:01 JST Active Exit Timestamp: n/a Inactive Enter Timestamp: n/a May GC: no Need Daemon Reload: no Transient: no Slice: n/a CGroup: n/a CGroup realized: no CGroup mask: 0x0 CGroup members mask: 0x0 Name: sys-devices-pnp0-00:05-tty-ttyS0.device Following Set Member: dev-ttyS0.device Job Timeout: 1min 30s StopWhenUnneeded: no RefuseManualStart: no RefuseManualStop: no DefaultDependencies: yes OnFailureJobMode: replace IgnoreOnIsolate: yes IgnoreOnSnapshot: yes Device State: plugged Sysfs Path: /sys/devices/pnp0/00:05/tty/ttyS0 以下省略

※ページが多い場合は、「スペース」キーを押しと次ページに進みます。
途中、最終ページで「q」を入力することで終了します。


人気記事失敗しないLinuxの転職に強い転職サイト・転職エージェント【厳選3選】


人気講座リナックスマスター・ホームスタディ講座【クラウド編】




<<関連記事>>
・MIMEでエンコードされたテキストを読めるように変換する
・viエディタで文字をコピーする
・ハードディスクの使用状況を調べるには
・tar.bz2ファイルを解凍して展開するには
・tar.gz形式のファイルを解凍、展開するには

スポンサードリンク


■CentOS7サーバー構築マニュアルを無料プレゼント
下記3冊のマニュアルを無料プレゼントしています。
・CentOS7サーバー構築マニュアル(105ページ)
・VMware Playerで作る仮想Linux環境構築マニュアル(40ページ)
・DB(PostgreSQL・MySQL)構築・CentOSバージョンアップマニュアル(33ページ)


詳細は↓をいますぐクリックしてください。
 無料マニュアルをダウンロードする  ホームスタディ講座【初級編】