systemd-analysis - लिनक्स में सिस्टम बूट-अप प्रदर्शन सांख्यिकी खोजें


क्या आप सिस्टम सिस्टम और सेवा प्रबंधक का उपयोग कर रहे हैं, और आपका लिनक्स सिस्टम बूट करने में अधिक समय ले रहा है या आप अपने सिस्टम बूट-अप प्रदर्शन की रिपोर्ट देखना चाहते हैं? यदि हाँ, तो आप सही जगह पर उतरे हैं।

इस लेख में, हम आपको दिखाएंगे कि systemd-analysis का उपयोग करके लिनक्स सिस्टम बूट-अप प्रदर्शन आँकड़ों का विश्लेषण कैसे करें, सिस्टम प्रबंधन के लिए systemd के अंतर्गत कई उपयोगिताओं में से एक।

सिस्टम बूट-अप समय का अवलोकन प्राप्त करने के लिए, हम बिना किसी तर्क के systemd-analysis कमांड चला सकते हैं। यह इस बात की जानकारी सूचीबद्ध करेगा कि प्रत्येक सेवा को शुरू करने में कितना समय लगा, जिसमें बूट करते समय कर्नेल, initrd और userspace द्वारा लिया गया समय शामिल है।

# systemd-analyze

Startup finished in 884ms (kernel) + 3.861s (initrd) + 48.356s (userspace) = 53.102s

यदि आप सभी चलने वाली इकाइयों की सूची देखना चाहते हैं, तो उन्हें इनिशियलाइज़ करने में लगने वाले समय (शीर्ष पर सबसे अधिक समय) के आधार पर, इस उद्देश्य के लिए दोष उप-कमांड का उपयोग किया जाता है। अनुसरण करने वाली कमांड चलाने के बाद, सूची में और सेवाएँ देखने के लिए [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 
          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

अंत में, आइए एक और महत्वपूर्ण उप-कमांड को देखें, जो सिस्टम सेवाओं के ग्राफिकल (एसवीजी प्रारूप) के निर्माण की अनुमति देता है, जिन्हें शुरू किया गया है, और किस समय, उनके आरंभिक समय पर प्रकाश डाला गया है, इस प्रकार।

सुनिश्चित करें कि भूखंड को देखने के लिए चित्रमय प्रदर्शन मोड या एक्स-विंडो सक्षम है।

# systemd-analyze plot > boot_analysis.svg
# xviewer boot_analysis.svg  

उपरोक्त सभी कमांड लोकल मशीन के बूट-अप परफॉर्मेंस के आंकड़ों को प्रिंट करेंगे। ssh पर दूरस्थ होस्ट से जानकारी देखने के लिए, -H ध्वज का उपयोग करें और [ईमेल संरक्षित] निर्देश निर्दिष्ट करें, जैसा कि दिखाया गया है।

# systemd-analyze time -H [email 
# systemd-analyze blame -H [email 
# systemd-analyze critical-chain -H [email 

systemd-analysis का उपयोग सिस्टम और systemd (सेवा प्रबंधक) और अन्य से अन्य स्थिति और अनुरेखण जानकारी खोजने के लिए भी किया जा सकता है। अधिक जानकारी के लिए, इसका मैन पेज देखें।

# man systemd-analyze 

अभी के लिए बस इतना ही! यदि आपके पास कोई प्रश्न या साझा करने के लिए सोचा गया है, तो हमसे संपर्क करने के लिए नीचे दिए गए फ़ीडबैक फ़ॉर्म का उपयोग करें।