systemd-analyze - ലിനക്സിൽ സിസ്റ്റം ബൂട്ട്-അപ്പ് പ്രകടന സ്ഥിതിവിവരക്കണക്കുകൾ കണ്ടെത്തുക


നിങ്ങൾ systemd സിസ്റ്റവും സർവീസ് മാനേജറും ഉപയോഗിക്കുന്നുണ്ടോ, നിങ്ങളുടെ Linux സിസ്റ്റം ബൂട്ട് ചെയ്യാൻ കൂടുതൽ സമയമെടുക്കുന്നുണ്ടോ അല്ലെങ്കിൽ നിങ്ങളുടെ സിസ്റ്റം ബൂട്ട്-അപ്പ് പ്രകടനത്തിന്റെ റിപ്പോർട്ടുകൾ കാണാൻ നിങ്ങൾ ആഗ്രഹിക്കുന്നുണ്ടോ? അതെ എങ്കിൽ, നിങ്ങൾ ശരിയായ സ്ഥലത്ത് എത്തിയിരിക്കുന്നു.

ഈ ലേഖനത്തിൽ, സിസ്റ്റം മാനേജുമെന്റിനായി systemd-ന് കീഴിലുള്ള നിരവധി യൂട്ടിലിറ്റികളിലൊന്നായ systemd-analyze ഉപയോഗിച്ച് ഒരു Linux സിസ്റ്റം ബൂട്ട്-അപ്പ് പ്രകടന സ്ഥിതിവിവരക്കണക്കുകൾ എങ്ങനെ വിശകലനം ചെയ്യാമെന്ന് ഞങ്ങൾ കാണിച്ചുതരാം.

സിസ്റ്റം ബൂട്ട്-അപ്പ് സമയത്തിന്റെ ഒരു അവലോകനം ലഭിക്കുന്നതിന്, നമുക്ക് ഇനിപ്പറയുന്ന രീതിയിൽ ആർഗ്യുമെന്റുകളൊന്നുമില്ലാതെ systemd-analyze കമാൻഡ് പ്രവർത്തിപ്പിക്കാം. ഓരോ സേവനവും ആരംഭിക്കാൻ എത്ര സമയമെടുത്തു എന്നതിനെക്കുറിച്ചുള്ള വിവരങ്ങൾ ഇത് ലിസ്റ്റ് ചെയ്യും, അതിൽ ബൂട്ട് ചെയ്യുമ്പോൾ കേർണൽ, initrd, യൂസർസ്പേസ് എന്നിവ എടുക്കുന്ന സമയം ഉൾപ്പെടുന്നു.

# 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
...

മുകളിലെ ഔട്ട്uപുട്ടിൽ നിന്ന് നിങ്ങൾക്ക് കാണാനാകുന്നതുപോലെ, ഓരോ യൂണിറ്റും എടുത്ത സമയത്തെ അടിസ്ഥാനമാക്കിയാണ് ക്രമീകരിച്ചിരിക്കുന്നത്, ബൂട്ട് ചെയ്യുമ്പോൾ ഏത് സേവനമാണ് കൂടുതൽ സമയം എടുക്കുന്നതെന്ന് നിങ്ങൾക്ക് കണ്ടെത്താനും പ്രശ്നം വിശകലനം ചെയ്യാനും കഴിയും.

അടുത്തതായി, സ്ഥിരസ്ഥിതി ലക്ഷ്യത്തിനായുള്ള സമയ-നിർണ്ണായക ശൃംഖലയുടെ ഒരു ട്രീയും അല്ലെങ്കിൽ കാണിച്ചിരിക്കുന്നതുപോലെ ക്രിട്ടിക്കൽ-ചെയിൻ സബ്-കമാൻഡ് ഉള്ള നിർദ്ദിഷ്ട യൂണിറ്റുകളുടെ ഒരു ലിസ്uറ്റും നമുക്ക് കാണാനാകും.

# 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  നിർദ്ദേശം വ്യക്തമാക്കുകയും ചെയ്യുക.

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

systemd-analyze, സിസ്റ്റത്തിൽ നിന്നും systemd (സർവീസ് മാനേജർ) എന്നിവയിൽ നിന്നും മറ്റും മറ്റ് സംസ്ഥാനങ്ങളും കണ്ടെത്തുന്ന വിവരങ്ങളും കണ്ടെത്താനും ഉപയോഗിക്കാം. കൂടുതൽ വിവരങ്ങൾക്ക്, അതിന്റെ മാൻ പേജ് കാണുക.

# man systemd-analyze 

തൽക്കാലം അത്രമാത്രം! നിങ്ങൾക്ക് എന്തെങ്കിലും ചോദ്യങ്ങളുണ്ടെങ്കിലോ പങ്കിടാൻ വിചാരിക്കുന്നുണ്ടെങ്കിലോ, ഞങ്ങളെ ബന്ധപ്പെടുന്നതിന് ചുവടെയുള്ള ഫീഡ്uബാക്ക് ഫോം ഉപയോഗിക്കുക.