লিনাক্স লোডের গড়গুলি বোঝুন এবং লিনাক্সের পারফরম্যান্স পর্যবেক্ষণ করুন
এই নিবন্ধে, আমরা একটি সমালোচনামূলক লিনাক্স সিস্টেম প্রশাসনের কাজগুলি ব্যাখ্যা করব - সিস্টেম/সিপিইউ লোড এবং লোড গড়ের ক্ষেত্রে পারফরম্যান্স পর্যবেক্ষণ।
আমরা আরও সরানোর আগে, সমস্ত ইউনিক্স-মতো সিস্টেমে এই দুটি গুরুত্বপূর্ণ বাক্যাংশটি বুঝতে পারি:
- সিস্টেম লোড/সিপিইউ লোড - একটি লিনাক্স সিস্টেমে সিপিইউর উপরের বা কম-ব্যবহারের একটি পরিমাপ; সিপিইউ বা ওয়েটিং স্টেটে কার্যকর হওয়া প্রক্রিয়াগুলির সংখ্যা
- লোড গড় - 1, 5 এবং 15 মিনিটের নির্দিষ্ট সময়কালের জন্য গড় সিস্টেমের লোড গণনা করা হয়
লিনাক্সে, লোড-গড় প্রযুক্তিগতভাবে এটির (কার্নেল) এক্সিকিউশন কাতারে চলমান বা নিরবচ্ছিন্ন হিসাবে ট্যাগযুক্ত প্রক্রিয়াগুলির একটি চলমান গড় হিসাবে বিশ্বাস করা হয়।
মনে রাখবেন যে:
- লিনাক্স বা অন্যান্য ইউনিক্স-মতো সিস্টেম দ্বারা চালিত বেশিরভাগ সিস্টেমে সম্ভবত কোনও ব্যবহারকারীর জন্য কোথাও লোড গড় মানগুলি প্রদর্শিত হবে
- নিষ্ক্রিয় প্রক্রিয়া বাদ দিয়ে একটি ডানট্রেট ইলল লিনাক্স সিস্টেমের শূন্যের একটি লোড গড় থাকতে পারে
- প্রায় সমস্ত ইউনিক্সের মতো সিস্টেমগুলি কেবল চলমান বা অপেক্ষার স্থানে প্রসেস গণনা করে। তবে লিনাক্সের ক্ষেত্রে এটি নয়, এটি নিরবচ্ছিন্ন ঘুমের রাজ্যে প্রক্রিয়াগুলি অন্তর্ভুক্ত করে; যারা ডিস্ক I/O ইত্যাদির মতো অন্যান্য সিস্টেম সংস্থার জন্য অপেক্ষা করছেন li
কীভাবে লিনাক্স সিস্টেম লোড গড় পর্যবেক্ষণ করবেন
আপডটাইম সহ সিস্টেম লোড গড়ের নিরীক্ষণের বিভিন্ন উপায় রয়েছে যা দেখায় যে কতক্ষণ ধরে এই সিস্টেম চলছে, ব্যবহারকারী সংখ্যা লোড গড় সহ:
$ uptime 07:13:53 up 8 days, 19 min, 1 user, load average: 1.98, 2.15, 2.21
সংখ্যাগুলি বাম থেকে ডানে পাঠ করা হয় এবং উপরের আউটপুটটির অর্থ:
- সর্বশেষ 1 মিনিটের ওভার লোড গড় 1.98
- সর্বশেষ 5 মিনিটের লোড গড় 2.15
- সর্বশেষ 15 মিনিটের মধ্যে লোড গড় 2.21
উচ্চ লোড গড় বোঝায় যে একটি সিস্টেম অতিরিক্ত লোড হয়েছে; অনেক প্রক্রিয়া সিপিইউ সময়ের জন্য অপেক্ষা করছে।
সিপিইউ কোর সংখ্যার সাথে আমরা পরবর্তী বিভাগে এটি উন্মোচন করব। অতিরিক্তভাবে, আমরা পাশাপাশি অন্যান্য সুপরিচিত সরঞ্জামগুলি ব্যবহার করতে পারি যেমন ঝলক যা চলমান লিনাক্স সিস্টেমের রিয়েল-টাইম রাজ্য প্রদর্শন করে, এবং আরও অনেক সরঞ্জাম:
$ top
top - 12:51:42 up 2:11, 1 user, load average: 1.22, 1.12, 1.26 Tasks: 243 total, 1 running, 242 sleeping, 0 stopped, 0 zombie %Cpu(s): 17.4 us, 2.9 sy, 0.3 ni, 74.8 id, 4.6 wa, 0.0 hi, 0.0 si, 0.0 st KiB Mem : 8069036 total, 388060 free, 4381184 used, 3299792 buff/cache KiB Swap: 3906556 total, 3901876 free, 4680 used. 2807464 avail Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 6265 tecmint 20 0 1244348 170680 83616 S 13.3 2.1 6:47.72 Headset 2301 tecmint 9 -11 640332 13344 9932 S 6.7 0.2 2:18.96 pulseaudio 2459 tecmint 20 0 1707692 315628 62992 S 6.7 3.9 6:55.45 cinnamon 2957 tecmint 20 0 2644644 1.035g 137968 S 6.7 13.5 50:11.13 firefox 3208 tecmint 20 0 507060 52136 33152 S 6.7 0.6 0:04.34 gnome-terminal- 3272 tecmint 20 0 1521380 391324 178348 S 6.7 4.8 6:21.01 chrome 6220 tecmint 20 0 1595392 106964 76836 S 6.7 1.3 3:31.94 Headset 1 root 20 0 120056 6204 3964 S 0.0 0.1 0:01.83 systemd 2 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kthreadd 3 root 20 0 0 0 0 S 0.0 0.0 0:00.10 ksoftirqd/0 5 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kworker/0:0H ....
$ glances
TecMint (LinuxMint 18 64bit / Linux 4.4.0-21-generic) Uptime: 2:16:06 CPU 16.4% nice: 0.1% LOAD 4-core MEM 60.5% active: 4.90G SWAP 0.1% user: 10.2% irq: 0.0% 1 min: 1.20 total: 7.70G inactive: 2.07G total: 3.73G system: 3.4% iowait: 2.7% 5 min: 1.16 used: 4.66G buffers: 242M used: 4.57M idle: 83.6% steal: 0.0% 15 min: 1.24 free: 3.04G cached: 2.58G free: 3.72G NETWORK Rx/s Tx/s TASKS 253 (883 thr), 1 run, 252 slp, 0 oth sorted automatically by cpu_percent, flat view enp1s0 525Kb 31Kb lo 2Kb 2Kb CPU% MEM% VIRT RES PID USER NI S TIME+ IOR/s IOW/s Command wlp2s0 0b 0b 14.6 13.3 2.53G 1.03G 2957 tecmint 0 S 51:49.10 0 40K /usr/lib/firefox/firefox 7.4 2.2 1.16G 176M 6265 tecmint 0 S 7:08.18 0 0 /usr/lib/Headset/Headset --type=renderer --no-sandbox --primordial-pipe-token=879B36514C6BEDB183D3E4142774D1DF --lan DISK I/O R/s W/s 4.9 3.9 1.63G 310M 2459 tecmint 0 R 7:12.18 0 0 cinnamon --replace ram0 0 0 4.2 0.2 625M 13.0M 2301 tecmint -11 S 2:29.72 0 0 /usr/bin/pulseaudio --start --log-target=syslog ram1 0 0 4.2 1.3 1.52G 105M 6220 tecmint 0 S 3:42.64 0 0 /usr/lib/Headset/Headset ram10 0 0 2.9 0.8 409M 66.7M 6240 tecmint 0 S 2:40.44 0 0 /usr/lib/Headset/Headset --type=gpu-process --no-sandbox --supports-dual-gpus=false --gpu-driver-bug-workarounds=7,2 ram11 0 0 2.9 1.8 531M 142M 1690 root 0 S 6:03.79 0 0 /usr/lib/xorg/Xorg :0 -audit 0 -auth /var/lib/mdm/:0.Xauth -nolisten tcp vt8 ram12 0 0 2.6 0.3 79.3M 23.8M 9651 tecmint 0 R 0:00.71 0 0 /usr/bin/python3 /usr/bin/glances ram13 0 0 1.6 4.8 1.45G 382M 3272 tecmint 0 S 6:25.30 0 4K /opt/google/chrome/chrome ...
এই সরঞ্জামগুলির দ্বারা দেখানো লোড গড়গুলি পড়ুন/প্রোক/লোডাভ্যাগ ফাইল যা আপনি নীচের মত ক্যাট কমান্ড ব্যবহার করে দেখতে পারেন:
$ cat /proc/loadavg 2.48 1.69 1.42 5/889 10570
গ্রাফ ফর্ম্যাটে লোড গড় নিরীক্ষণের জন্য, পরীক্ষা করে দেখুন: ttyload - টার্মিনালে লিনাক্স লোড গড়ের একটি রঙিন কোডেড গ্রাফ দেখায়
ডেস্কটপ মেশিনে গ্রাফিকাল ইউজার ইন্টারফেস সরঞ্জাম রয়েছে যা আমরা সিস্টেম লোড গড় দেখতে ব্যবহার করতে পারি।
সিপিইউগুলির সম্পর্কিত সংখ্যায় সিস্টেমের গড় বোঝা বোঝা
পারফরম্যান্সে সিপিইউ কোরের সংখ্যার প্রভাব সম্পর্কে আলোকপাত না করে আমরা সম্ভবত সিস্টেম লোড বা সিস্টেমের পারফরম্যান্স ব্যাখ্যা করতে পারি না।
- মাল্টি প্রসেসর - যেখানে দুটি বা ততোধিক শারীরিক সিপিইউ একক কম্পিউটার সিস্টেমে সংহত করা হয়
- মাল্টি-কোর প্রসেসর - একটি একক শারীরিক সিপিইউ যা কমপক্ষে দুটি বা আরও বেশি পৃথক কোর (বা আমরা প্রসেসিং ইউনিট হিসাবে চিহ্নিত করতে পারি) যা সমান্তরালভাবে কাজ করে। অর্থ একটি ডুয়াল-কোরের 2 টি দুটি প্রক্রিয়াকরণ ইউনিট রয়েছে, একটি কোয়াড-কোরটিতে 4 টি প্রক্রিয়াকরণ ইউনিট রয়েছে
তদ্ব্যতীত, একটি প্রসেসর প্রযুক্তিও রয়েছে যা সমান্তরাল কম্পিউটিং উন্নত করার জন্য ইন্টেল দ্বারা প্রথমে প্রবর্তিত হয়েছিল, হাইপার থ্রেডিং হিসাবে পরিচিত।
হাইপার থ্রেডিংয়ের অধীনে, একটি একক শারীরিক সিপিইউ কোর একটি অপারেটিং সিস্টেমে দুটি লজিক্যাল সিপিইউস কোর হিসাবে উপস্থিত হয় (তবে বাস্তবে, একটি শারীরিক হার্ডওয়্যার উপাদান রয়েছে)।
মনে রাখবেন যে একটি সিপিইউ কোর একবারে কেবল একটি কাজ সম্পাদন করতে পারে, সুতরাং একাধিক সিপিইউ/প্রসেসর, মাল্টি-কোর সিপিইউ এবং হাইপার-থ্রেডিংয়ের মতো প্রযুক্তিগুলি জীবনে আনা হয়েছিল।
একাধিক সিপিইউ দিয়ে একসাথে বেশ কয়েকটি প্রোগ্রাম কার্যকর করা যায়। বর্তমান সময়ের ইন্টেল সিপিইউগুলি একাধিক কোর এবং হাইপার-থ্রেডিং প্রযুক্তি উভয়ের সংমিশ্রণ ব্যবহার করে।
কোনও সিস্টেমে উপলব্ধ প্রসেসিং ইউনিটগুলির সংখ্যা জানতে, আমরা নীচের হিসাবে এনআরপোক বা এলএসসিপিইউ কমান্ডগুলি ব্যবহার করতে পারি:
$ nproc 4 OR lscpu
গ্রেপ কমান্ড ব্যবহার করে প্রক্রিয়াকরণ ইউনিট সংখ্যা সনাক্ত করার অন্য উপায় shown
$ grep 'model name' /proc/cpuinfo | wc -l 4
এখন, সিস্টেমের বোঝা আরও বোঝার জন্য আমরা কয়েকটি অনুমান গ্রহণ করব। ধরা যাক আমাদের নীচে লোড গড় রয়েছে:
23:16:49 up 10:49, 5 user, load average: 1.00, 0.40, 3.35
- সিপিইউ সম্পূর্ণরূপে (100%) ব্যবহৃত হয়েছিল; সিপিইউতে (১.০০) গত 1 মিনিটের মধ্যে 1 টি প্রক্রিয়া চলছে
- সিপিইউ গড়ে 60% অলস ছিল; কোনও প্রক্রিয়া শেষ 5 মিনিটের জন্য সিপিইউ সময়ের (0.40) জন্য অপেক্ষা করছিল না
- সিপিইউ গড়ে 235% ওভারলোড হয়েছিল; 2.35 প্রক্রিয়াগুলি শেষ 15 মিনিটের জন্য সিপিইউ সময়ের (3.35) জন্য অপেক্ষা করছিল
- একটি সিপিইউ গড়ে 100% অলস ছিল, একটি সিপিইউ ব্যবহৃত হচ্ছে; কোনও প্রক্রিয়া শেষ 1 মিনিটের জন্য সিপিইউ সময়ের (1.00) জন্য অপেক্ষা করছিল না
- সিপিইউগুলি গড়ে 160% অলস ছিল; কোনও প্রক্রিয়া সিপিইউ সময়ের জন্য অপেক্ষা করছিল না। (0.40) সর্বশেষ 5 মিনিটের উপরে
- সিপিইউগুলি গড়ে 135% ওভারলোড হয়েছিল; 1.35 প্রক্রিয়াগুলি সিপিইউ সময়ের জন্য অপেক্ষা করছিল। (3.35) গত 15 মিনিটের উপরে over
তুমি এটাও পছন্দ করতে পারো:
- লিনাক্স পারফরম্যান্স নিরীক্ষণের জন্য 20 টি কমান্ড লাইন সরঞ্জাম - অংশ 1
- 13 লিনাক্স পারফরম্যান্স মনিটরিং সরঞ্জাম - পার্ট 2
- পারফেক্ট- লিনাক্সের জন্য পারফরম্যান্স মনিটরিং এবং বিশ্লেষণ সরঞ্জাম
- নমন: লিনাক্স সিস্টেমের পারফরম্যান্স বিশ্লেষণ ও নিরীক্ষণ করুন
উপসংহারে, আপনি যদি সিস্টেম প্রশাসক হন তবে উচ্চ লোড গড় সম্পর্কে চিন্তা করা সত্য। যখন তারা বেশি হয়, সিপিইউ কোরের সংখ্যার উপরে, এটি সিপিইউগুলির উচ্চ চাহিদা বোঝায়, এবং সিপিইউ কোরের সংখ্যার নীচে লোড গড় আমাদের জানান যে সিপিইউগুলি ব্যবহারযোগ্য নয়।