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

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

■Linux入門無料マニュアル
RHEL・MIRACLELINUX・Ubuntuに対応した
全516ページのLinux入門マニュアルを無料プレゼント中です。
これさえあれば自分専用のLinux環境が作れます。
↓↓今すぐダウンロードしてください↓↓
Linux入門無料マニュアルのダウンロードはこちらをクリック



■AWS入門マニュアル【無料プレゼント】
たった13分でWordPressサーバーが作れるAWSマニュアルを【期間限定】プレゼント中です。
AWS入門マニュアルは↓から今すぐダウンロードしてください。

【無料プレゼント】AWS入門マニュアルのダウンロードはこちらをクリック

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



■Linux入門無料マニュアル
RHEL・MIRACLELINUX・Ubuntuに対応した
全516ページのLinux入門マニュアルを無料プレゼント中です。
これさえあれば自分専用のLinux環境が作れます。
↓↓今すぐダウンロードしてください↓↓
Linux入門無料マニュアルのダウンロードはこちらをクリック



■AWS入門マニュアル【無料プレゼント】
たった13分でWordPressサーバーが作れるAWSマニュアルを【期間限定】プレゼント中です。
AWS入門マニュアルは↓から今すぐダウンロードしてください。

【無料プレゼント】AWS入門マニュアルのダウンロードはこちらをクリック


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入門無料マニュアル
RHEL・MIRACLELINUX・Ubuntuに対応した
全516ページのLinux入門マニュアルを無料プレゼント中です。
これさえあれば自分専用のLinux環境が作れます。
↓↓今すぐダウンロードしてください↓↓
Linux入門無料マニュアルのダウンロードはこちらをクリック



■【無料プレゼント】AWS入門PDFマニュアル
たった13分でWordPressサーバーが作れるAWSマニュアルを【期間限定】プレゼント中です。
AWS入門マニュアルは↓から今すぐダウンロードしてください。

【無料プレゼント】AWS入門PDFマニュアルのダウンロードはこちら


人気セミナー

■2日でLinuxエンジニアとして一人前の技術を身につけるセミナー
「大袈裟すぎ...」「できるわけない...」そう思うのはわかります。でも...
その理由が知りたい方は、↓をクリックしてください。
【Linuxセミナー研修】リナックスマスタープロセミナー(2日間RHEL研修)

■自宅で30日でLinuxエンジニアとして一人前の技術を身につける講座
自宅にいながらプロのLinuxエンジニアの技術がマスターできる講座です。
自分のペースで学習を進められます。
【Linux講座】リナックスマスターホームスタディ講座

■AWS基礎が1日でマスターできるセミナー
AWS初心者向けセミナーです。ログインや料金確認などの基礎から
ロードバランサーなど業務で使える実用的なスキルが1日で学べます。
【AWSセミナー研修】AWSマスター【初級編】

■2日で災害対策、障害対策「止まらないシステム」を構築するセミナー
「企業が安心して使えるLinux環境をAWSに構築する」ハンズオンセミナーです。
「AWSベーシックマスターセミナー」より上位のセミナーになります。
【AWSセミナー研修】AWSマスター【上級編】

■失敗しないLinux転職
あなたが「Linuxエンジニアになりたいけど、失敗したくない。」と思っているなら、
知っておいてほしい事をまとめました。
失敗しないLinuxの転職に強い転職サイト・転職エージェント【厳選3選】


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

スポンサードリンク