systemd-analyze - Temukan Statistik Kinerja Boot-up Sistem di Linux
Apakah Anda menggunakan sistem systemd dan manajer layanan, dan sistem Linux Anda membutuhkan waktu lebih lama untuk boot atau Anda hanya ingin melihat laporan kinerja boot-up sistem Anda? Jika ya, Anda telah berada di tempat yang tepat.
Pada artikel ini, kami akan menunjukkan kepada Anda cara menganalisis statistik kinerja boot-up sistem Linux menggunakan systemd-analyze, salah satu dari banyak utilitas di bawah systemd untuk manajemen sistem.
Baca Juga: Cara Mengontrol Layanan Systemd di Server Linux Jarak Jauh
Untuk mendapatkan gambaran umum waktu boot-up sistem, kita dapat menjalankan perintah systemd-analyze tanpa argumen apa pun sebagai berikut. Ini akan mencantumkan informasi tentang berapa lama waktu yang dibutuhkan setiap layanan untuk memulai, termasuk waktu yang dibutuhkan oleh kernel, initrd, dan ruang pengguna saat booting.
systemd-analyze
Startup finished in 884ms (kernel) + 3.861s (initrd) + 48.356s (userspace) = 53.102s
Jika Anda ingin melihat daftar semua unit yang berjalan, diurutkan berdasarkan waktu yang diperlukan untuk inisialisasi (waktu tertinggi di atas), sub-perintah menyalahkan digunakan untuk tujuan ini. Setelah menjalankan perintah berikut, gunakan [Enter] untuk melihat layanan lainnya dalam daftar dan q
untuk keluar.
systemd-analyze blame
16.159s mariadb.service
12.178s libvirtd.service
10.298s tuned.service
9.836s postfix.service
8.704s lsws.service
7.352s lscpd.service
4.988s [email
4.779s NetworkManager-wait-online.service
4.577s lvm2-monitor.service
4.439s ModemManager.service
4.413s polkit.service
4.280s dev-sda1.device
4.225s systemd-udev-settle.service
3.957s firewalld.service
3.227s rhel-dmesg.service
3.221s abrt-ccpp.service
3.142s rsyslog.service
3.053s avahi-daemon.service
3.042s pure-ftpd.service
2.249s gssproxy.service
2.212s NetworkManager.service
1.889s proc-fs-nfsd.mount
1.780s systemd-tmpfiles-setup-dev.service
1.451s sshd.service
1.267s rhel-readonly.service
1.035s sysstat.service
1.001s rpc-statd-notify.service
910ms systemd-logind.service
739ms kdump.service
738ms network.service
...
Seperti yang Anda lihat dari output di atas bahwa setiap unit diurutkan berdasarkan waktu yang dibutuhkan, Anda cukup mengetahui layanan mana yang membutuhkan waktu lebih lama saat booting dan menganalisis masalahnya.
Selanjutnya, kita juga dapat melihat pohon rantai waktu kritis untuk target default atau daftar unit tertentu dengan sub-perintah rantai kritis seperti yang ditunjukkan.
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 @48.342s
└─mariadb.service @31.560s +16.159s
└─network.target @31.558s
└─network.service @30.819s +738ms
└─NetworkManager-wait-online.service @26.035s +4.779s
└─NetworkManager.service @23.821s +2.212s
└─network-pre.target @23.821s
└─firewalld.service @19.863s +3.957s
└─polkit.service @15.381s +4.413s
└─basic.target @12.271s
└─sockets.target @12.271s
└─virtlockd.socket @12.270s
└─sysinit.target @12.251s
└─systemd-update-utmp.service @12.196s +54ms
└─auditd.service @11.705s +486ms
└─systemd-tmpfiles-setup.service @11.609s +93ms
└─rhel-import-state.service @11.397s +211ms
└─local-fs.target @11.363s
└─run-user-0.mount @46.910s
└─local-fs-pre.target @10.575s
└─lvm2-monitor.service @5.996s +4.577s
└─lvm2-lvmetad.service @7.376s
└─lvm2-lvmetad.socket @5.987s
└─-.slice
systemd-analyze critical-chain ntp.service networking.service
Terakhir, mari kita lihat satu lagi sub-perintah penting yang memungkinkan pembuatan perincian grafis (format svg) dari layanan sistem yang telah dimulai, dan jam berapa, menyoroti waktu inisialisasinya, sebagai berikut.
Pastikan mode tampilan grafis atau x-windows diaktifkan untuk melihat plot.
systemd-analyze plot > boot_analysis.svg
xviewer boot_analysis.svg
Semua perintah di atas akan mencetak statistik kinerja boot-up untuk mesin lokal. Untuk melihat informasi dari host jarak jauh melalui ssh, gunakan flag -H
dan tentukan direktif namapengguna@host, seperti yang ditunjukkan.
systemd-analyze time -H [email
systemd-analyze blame -H [email
systemd-analyze critical-chain -H [email
systemd-analyze juga dapat digunakan untuk menemukan status lain dan menelusuri informasi dari sistem dan systemd (manajer layanan) dan banyak lagi. Untuk informasi lebih lanjut, lihat halaman manualnya.
man systemd-analyze
Baca Juga: Cara Mengubah Runlevel (target) di SystemD
Itu saja untuk saat ini! Jika Anda memiliki pertanyaan atau pemikiran untuk disampaikan, gunakan formulir umpan balik di bawah untuk menghubungi kami.