systemd-বিশ্লেষণ - লিনাক্সে সিস্টেম বুট-আপ পারফরম্যান্স পরিসংখ্যান সন্ধান করুন


আপনি কি সিস্টেমেড সিস্টেম এবং সার্ভিস ম্যানেজার ব্যবহার করছেন এবং আপনার লিনাক্স সিস্টেম বুট করতে বেশি সময় নিচ্ছে বা আপনি সাধারণভাবে আপনার সিস্টেম বুট-আপ পারফরম্যান্সের রিপোর্টগুলি দেখতে চান? যদি হ্যাঁ, আপনি সঠিক জায়গায় অবতরণ করেছেন।

এই নিবন্ধে, আমরা আপনাকে দেখাব যে কীভাবে লিনাক্স সিস্টেম বুট-আপ পারফরম্যান্সের পরিসংখ্যানগুলি সিস্টেম পরিচালনার জন্য সিস্টেমড-এর অধীনে অসংখ্য ইউটিলিটিগুলির মধ্যে একটি, সিস্টেমড-অ্যানালাইসেস ব্যবহার করে বিশ্লেষণ করতে হবে।

সিস্টেম বুট-আপ সময়ের একটি সংক্ষিপ্ত বিবরণ পেতে, আমরা নিম্নরূপ কোনও যুক্তি ছাড়াই systemd-বিশ্লেষণ কমান্ড চালাতে পারি। এটি প্রতিটি পরিষেবা শুরু হতে কতটা সময় নিয়েছে তার তথ্য তালিকাভুক্ত করবে, যার মধ্যে বুট করার সময় কার্নেল, 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
...

উপরের আউটপুট থেকে আপনি দেখতে পাচ্ছেন যে প্রতিটি ইউনিট সময় নিয়েছে তার ভিত্তিতে বাছাই করা হয়েছে, আপনি সমস্যাটি বুট করার সময় কোন পরিষেবাটি বেশি সময় নিচ্ছে তা বিশ্লেষণ করতে পারেন এবং সমস্যাটি বিশ্লেষণ করতে পারেন।

এরপরে, আমরা ডিফল্ট টার্গেটের জন্য সময়-সমালোচনামূলক শৃঙ্খলার একটি গাছ বা সমালোচিত-চেইন সাব-কমান্ডের সাথে নির্দিষ্ট ইউনিটের তালিকা দেখানো হিসাবে দেখতে পারি।

# 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 

সিস্টেমড-অ্যানালাইজেশন সিস্টেম এবং সিস্টেমড (সার্ভিস ম্যানেজার) এবং আরও অনেক কিছু থেকে অন্য রাষ্ট্র এবং ট্রেসিংয়ের তথ্য সন্ধান করতেও ব্যবহার করা যেতে পারে। আরও তথ্যের জন্য, এর ম্যান পৃষ্ঠাটি দেখুন।

# man systemd-analyze 

আপাতত এই পর্যন্ত! আপনার যদি কোন প্রশ্ন বা ভাগ করে নেওয়ার চিন্তাভাবনা থাকে তবে আমাদের কাছে পৌঁছাতে নীচের প্রতিক্রিয়া ফর্মটি ব্যবহার করুন।