systemd-analyze-Linux에서 시스템 부팅 성능 통계 찾기
systemd 시스템 및 서비스 관리자를 사용하고 있으며 Linux 시스템을 부팅하는 데 시간이 오래 걸리거나 단순히 시스템 부팅 성능 보고서를보고 싶습니까? 그렇다면 올바른 장소에 착륙 한 것입니다.
이 기사에서는 systemd에서 시스템 관리를위한 수많은 유틸리티 중 하나 인 systemd-analyze를 사용하여 Linux 시스템 부팅 성능 통계를 분석하는 방법을 보여줍니다.
시스템 부팅 시간에 대한 개요를 얻으려면 다음과 같이 인수없이 systemd-analyze 명령을 실행할 수 있습니다. 부팅하는 동안 커널, initrd 및 사용자 공간에 소요 된 시간을 포함하여 각 서비스를 시작하는 데 걸린 시간에 대한 정보를 나열합니다.
# systemd-analyze Startup finished in 884ms (kernel) + 3.861s (initrd) + 48.356s (userspace) = 53.102s
초기화하는 데 걸린 시간 (가장 높은 시간)을 기준으로 정렬 된 모든 실행중인 장치의 목록을 보려면 blame 하위 명령이이 용도로 사용됩니다. 다음 명령을 실행 한 후 [Enter]를 사용하여 목록에서 더 많은 서비스를보고 q
를 사용하여 종료합니다.
# 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 protected] 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 ...
위의 출력에서 알 수 있듯이 각 장치가 소요 시간을 기준으로 정렬되어 있음을 알 수 있듯이 부팅하는 동안 어떤 서비스가 더 오래 걸리는지 확인하고 문제를 분석 할 수 있습니다.
다음으로 기본 대상에 대한 시간 임계 체인 트리 또는 표시된대로 임계 체인 하위 명령을 사용하여 지정된 단위 목록을 볼 수도 있습니다.
# 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
마지막으로 다음과 같이 시작된 시스템 서비스에 대한 그래픽 (svg 형식) 세부 정보를 생성하고 언제 초기화 시간을 강조 표시하는 중요한 하위 명령을 하나 더 살펴 보겠습니다.
플롯을 보려면 그래픽 디스플레이 모드 또는 x- 창이 활성화되어 있는지 확인하십시오.
# systemd-analyze plot > boot_analysis.svg # xviewer boot_analysis.svg

위의 모든 명령은 로컬 시스템에 대한 부팅 성능 통계를 인쇄합니다. ssh를 통해 원격 호스트의 정보를 보려면 -H
플래그를 사용하고 그림과 같이 [email protected] 지시문을 지정합니다.
# systemd-analyze time -H [email protected] # systemd-analyze blame -H [email protected] # systemd-analyze critical-chain -H tecmin[email protected]
systemd-analyze는 시스템 및 systemd (서비스 관리자) 등에서 다른 상태 및 추적 정보를 찾는데도 사용할 수 있습니다. 자세한 내용은 매뉴얼 페이지를 참조하십시오.
# man systemd-analyze
지금은 끝입니다! "질문이 있거나 공유 할 생각이 있으면 아래 피드백 양식을 사용하여 저희에게 연락하십시오.