কম্পিউটার টিউটোরিয়াল

atop ইনস্টলেশন: রিয়েল-টাইম সিস্টেম পারফরম্যান্স মনিটরিং সহজ করা

atop হল একটি ফুল-স্ক্রিন পারফরম্যান্স মনিটরিং টুল যা সমস্ত সিস্টেম প্রসেসের বিস্তারিত রিপোর্ট প্রদান করে, जिनमें ইতিমধ্যে বন্ধ হওয়া প্রসেসও অন্তর্ভুক্ত। এটি নিয়মিত अन्तরালে সিস্টেম অ্যাক্টিভিটি লগ করে এবং সেই তথ্য পরবর্তী ব্যবহারের জন্য সংরক্ষণ করে।

এই লগগুলো বিভিন্ন উদ্দেশ্যে ব্যবহার করা যায় যেমন সিস্টেম বিশ্লেষণ, পারফরম্যান্স টিউনিং, বটলनेक চিহ্নিতকরণ, ডিবাগিং সমস্যা, বা অপ্রত্যাশিত ওভারলোডের কারণ অনুসন্ধান।

ট্র্যাডিশনাল টুল যেমন top বা htop-এর মতো যা শুধু লাইভ সিস্টেম ডেটা দেখায়, atop আপনাকে অতীতে যেতে দেয় এবং যেকোনো লগ করা अन्तরালে কী হয়েছিল তা সঠিকভাবে পরিদর্শন করতে দেয়—যা সিস্টেম অ্যাডমিনিস্ট্রেটরদের জন্য সার্ভার স্মوذলি চালানোর জন্য đặcব acost্যবান।

এই আর্টিকেলে আমরা কভার করব atop কী অফার করে, পপুলার লিনাক্স ডিস্ট্রিবিউশনে এটি কীভাবে ইনস্টল করতে হয়, এবং আপনার সিস্টেমের পারফরম্যান্স ইতিহাস মনিটর ও বিশ্লেষণ করার জন্য এটি কীভাবে কার্যকরভাবে ব্যবহার করতে হয়।

atop কী?

atop হল লিনাক্সের জন্য একটি ফুল-স্ক্রিন সিস্টেম ও প্রসেস মনিটর, যা সিস্টেম-ব্যাপী এবং প্রতি-প্রসেস অ্যাক্টিভিটি রিপোর্ট করার জন্য ডিজাইন করা হয়েছে, যার মধ্যে:

  • সকল রানিং এবং সম্পন্ন প্রসেস দেখা।
  • প্রতি প্রসেস CPU, মেমরি, ডিস্ক এবং নেটওয়ার্ক ব্যবহার মনিটর করা।
  • সব অ্যাক্টিভিটি বাইনারি ফাইলে লগ করা পরবর্তী বিশ্লেষণের জন্য।
  • জম্বি এবং অনাথ প্রসেস ডিটেক্ট করা।
  • থ্রেড-লেভেল রিসোর্স ব্যবহার প্রদর্শন।
  • প্রতি-ইউজার এবং প্রতি-প্রোগ্রাম অ্যাক্টিভিটি মনিটর করা।
  • আধুনিক কার্নেলে CPU/মেমরি/ডিস্ক-এর জন্য প্রেশার স্টল (PSI) দেখানো।
  • cgroup v2 সাপোর্ট, কন্টেইনারাইজড এনভাॅйরনমেন্টের জন্য পরিপূরক।
  • Netatop-এর সাথে অপশনাল ইন্টিগ্রেশন প্রতি-প্রসেস নেটওয়ার্ক স্ট্যাটের জন্য।

এবং যা atop-কে অসাধারণ করে তোলে: এটি সমস্ত অ্যাক্টিভিটি নিয়মিত अन्तরালে (ডিফল্ট ১০ মিনিট) ডিস্কে লগ করতে পারে। আপনি তারপর সিস্টেম ইতিহাসের যেকোনো অংশ রিপ্লে করে খুঁজে বের করতে পারেন কী ঘটেছিল।

এটি অতি উপকারী যখন আপনাকে র‍্যান্ডম ক্র্যাশ ডিবাগ করতে হয়, রিসোর্স অপব্যবহার ট্র্যাক করতে হয়, বা সময়ের সাথে ব্যবহার মনিটর করতে হয়—বিশেষ করে হেডলেস সার্ভার বা প্রোডাকশন সিস্টেমের জন্য।

লিনাক্সে atop মনিটরিং টুল ইনস্টলেশন

atop অধিকাংশ লিনাক্স ডিস্ট্রিবিউশনের রিপোজিটরিতে উপলব্ধ, আপনি আপনার সিস্টেমের প্যাকেজ ম্যানেজার দিয়ে বা লেটেস্ট ভার্সনের জন্য সোর্স থেকে কম্পাইল করে ইনস্টল করতে পারেন।

RHEL/CentOS/Fedora-এ

প্রথমে RHEL-ভিত্তিক ডিস্ট্রিবিউশনে EPEL রিপোজিটরি এনেবল করুন atop মনিটরিং টুল ইনস্টল করতে।

sudo dnf install epel-release

EPEL রিপোজিটরি এনেবল হলে, yum প্যাকেজ ম্যানেজার দিয়ে atop প্যাকেজ ইনস্টল করুন:

sudo dnf install atop

Debian/Ubuntu-এ

Debian-ভিত্তিক ডিস্ট্রিবিউশনে atop ডিফল্ট রিপোজিটরি থেকে apt কমান্ড দিয়ে ইনস্টল করা যায়।

sudo apt-get install atop

Arch Linux / Manjaro-এ

যদি আপনি Arch বা এর ডেরিভেটিভের মতো রোলিং-রিলিজ ডিস্ট্রো ব্যবহার করেন, atop ইনস্টল করা মাত্র এক কমান্ড দূরে:

sudo pacman -S atop

সোর্স থেকে atop ইনস্টলেশন (ঐচ্ছিক)

আপনি যদি লেটেস্ট ভার্সন চান (উদাহরণস্বরূপ, রিপো ভার্সন পুরনো হলে বা ব্লিডিং-এজ ফিচার চাইলে), atop সোর্স থেকে বিল্ড করতে পারেন।

wget https://www.atoptool.nl/download/atop-2.12.0.tar.gz
tar -xzf atop-2.12.0.tar.gz
cd atop-2.12.0
make
sudo make install

নোট: আপনাকে ডেভেলপমেন্ট টুল ইনস্টল থাকতে পারে যেমন build-essential (Debian) বা gcc, make ইত্যাদি, আপনার ডিস্ট্রো অনুযায়ী।

atop ইনস্টল হলে, এর ব্যাকগ্রাউন্ড লগিং সার্ভিস এনেবল করতে হবে যাতে এটি বুটে স্বয়ংক্রিয়ভাবে পারফরম্যান্স ডেটা সংগ্রহ শুরু করে।

sudo systemctl enable --now atop
sudo systemctl enable --now atop-rotate.timer

লিনাক্সে atop দিয়ে শুরু করা

atop ইনস্টল এবং এর লগিং সার্ভিস এনেবল হলে, টার্মিনালে এটি চালু করুন:

atop

আপনি ডিফল্টভাবে প্রতি ১০ সেকেন্ডে রিফ্রেশ হয় এমন একটি ডাইনামিক, কালারাইজড ইন্টারফেস দেখবেন, top-এর মতো।

atop ইনস্টলেশন: রিয়েল-টাইম সিস্টেম পারফরম্যান্স মনিটরিং সহজ করা

atop মনিটরিং সিস্টেম

লগ ইন্টারভাল কাস্টমাইজ করা (ডিফল্ট: ৬০০ সেকেন্ড)

ডিফল্টভাবে atop সিস্টেম অ্যাক্টিভিটি প্রতি ৬০০ সেকেন্ডে (১০ মিনিট) লগ করে, যা সাধারণ মনিটরিং-এর জন্য পর্যাপ্ত হতে পারে, কিন্তু কার্যকর ট্রাবলশুটিং-এর জন্য প্রায়শः খুব কম, বিশেষ করে যখন আপনি সংক্ষিপ্তকালীন রিসোর্স স্পাইক বা পারফরম্যান্স বটলनेक ডিবাগ করছেন।

sudo sed -i 's/600/60/' /etc/atop/atop.daily [RedHat-ভিত্তিক সিস্টেমের অধীনে]
sudo sed -i 's/600/60/' /etc/default/atop [Debian-ভিত্তিক সিস্টেমের অধীনে]

এই পরিবর্তন করার পর atop প্রতি মিনিটে লগ সংগ্রহ শুরু করবে, যা সিস্টেম আচরণের 시간에 따른 চিত্র অনেক স্পষ্ট করবে—যা 인터মিটেন্ট সমস্যা ডায়াগনোজ করতে, ট্রেন্ড বিশ্লেষণ করতে, বা ভারী লোড অধীন সার্ভার মনিটর করার সময় বিশেষভাবে উপকারী।

শিডিউলিং ইনফরমেশন দেখা (s কী)

কার্নেল প্রসেসগুলো কীভাবে শিডিউল করছে তা জানতে s কী চাপুন, যা প্রতিটি প্রসেস কতটুকু CPU وقت ব্যবহার করছে এবং কতক্ষণ "রানিং" অবস্থায় থাকছে তা দেখাবে।

atop -s

মেমরি ব্যবহার বিশ্লেষণ (m কী)

m কী চাপলে সকল রানিং প্রসেসের মেমরি ব্যবহার করে বিস্তারিত दृश्य পাওয়া যায়। VSIZE কলামটি মোট ভার্চুয়াল মেমরি অ্যালোকেশন দেখায়, আর RSIZE বর্তমানে RAM-এ রেসিডেন্ট মেমরির অংশ ইঙ্গিত করে।

অতিরিক্তভাবে, VGROW এবং RGROW বর্তমান अन्तরালে কোন প্রসেস কতটুকু ভার্চুয়াল এবং রেসিডেন্ট মেমরি získা বা হারিয়েছে তা দেখায়। MEM কলামটি প্রতিটি প্রসেসের দিয়ে ব্যবহৃত মেমরির সামগ্রিক শতাংশ দেখায়।

atop -m

ডিস্ক ইউটিলাইজেশন মনিটর (d কী)

ডিস্ক I/O অনেক সিস্টেমে সাধারণ বটলनेक, এবং atop d কী দিয়ে এটিকে সহজ করে মনিটর করতে দেয়, যা সিস্টেম লেভেলে ডিস্ক অ্যাক্টিভিটি দেখায় যার মধ্যে Logical Volume Management (LVM) স্ট্যাট এবং প্রতি-ডিস্ক পারফরম্যান্স।

RDDSK এবং WRDSK কলামগুলো পড়া ও লেখা ডেটার পরিমাণ দেখায় (KB/s-এ), আর DSK এবং LVM কলামগুলো সবচেয়ে সক্রিয় ভলিউম বা ডিস্ক চিহ্নিত করতে সাহায্য করে।

atop -d

বিস্তারিত প্রসেস ইনফো (v কী)

v কী প্রতিটি প্রসেসের বিস্তারিত ব্রেকডাউন সক্ষম করে, যা UID, PID, GID, এবং CPU ব্যবহার পর্ডেন্টেজ মান দেখায়—যা বিশেষভাবে হ্যান্ডি যখন আপনাকে নির্দিষ্ট ইউজার বা সার্ভিস তাদের न्यুমেরিক আইডেন্টিফায়ার দিয়ে ট্র্যাক করতে হয় বা চেক করতে হয় কোন গ্রুপ কোন রিসোর্স-গভীর প্রসেসের মালিক।

atop -v

প্রসেস কমান্ড দেখা (c কী)

যখন আপনাকে প্রতিটি প্রসেসের জন্য কী কমান্ড চালানো হয়েছে সেটি দেখতে হয়, c কী চাপুন, যা প্রসেস নামকে ফুল কমান্ড লাইন দিয়ে রিপ্লেস করে, যাতে আপনি বুঝতে পারেন কোন স্ক্রিপ্ট, বাইনারি বা ফ্ল্যাগ ব্যবহার হয়েছে—এটি একই অ্যাপ্লিকেশনের একাধিক ইন্সট্যান্স বা ইউজার-সাবমিটেড জব ডিবাগ করার জন্য উপকারী।

atop -c

প্রোগ্রাম অনুযায়ী প্রসেস গ্রুপ করা (p কী)

প্রোগ্রাম-লেভেল অ্যাক্টিভিটির হাই-লেভেল সারMARY পেতে p কী ব্যবহার করুন, যা প্রতি এক্সিকিউটেবল প্রোগ্রামের দ্বারা ডেটা অ্যাগ্রিগেট করে, দেখায় প্রতিটি কতবার স্পন হয়েছে এবং কতটুকু রিসোর্স ব্যবহার জমা হয়েছে। বামপাশের কলাম স্পন কাউন্ট দেখায়, ডানপাশের কলামে প্রকৃত প্রোগ্রামের নাম থাকে।

atop -p

ইউজার অনুযায়ী প্রসেস গ্রুপ করা (u কী)

যখন আপনি ইউজার-লেভেল রিসোর্স ব্যবহার জানতে চান, u কী চাপুন, যা দেখায় প্রতিটি ইউজার বর্তমানে কত প্রসেস চালাচ্ছে বা মনিটরিং अन्तরালে চালিয়েছে, সেইসাথে তাদের সাঙ্কলিত CPU ও মেমরি ব্যবহার।

atop -u

নেটওয়ার্ক ব্যবহার মনিটর (n কী)

প্রতি-প্রসেস নেটওয়ার্ক ট্রাফিক স্ট্যাট সক্ষম করতে Netatop কার্নেল মডিউল ইনস্টল ও এক্টিভেট করতে হবে, যা atop-এর প্রতি-প্রসেস সেন্ট/রিসিভড ট্রাফিক দেখানোর ক্ষমতা বাড়ায়।

# RedHat-ভিত্তিক: sudo yum install kernel-devel zlib-devel
# Debian-ভিত্তিক: sudo apt-get install zlib1g-dev

ডাউনলোড ও বিল্ড:

wget https://www.atoptool.nl/download/netatop-0.3.tar.gz
tar -xvf netatop-0.3.tar.gz
cd netatop-0.3
make
sudo make install

মডিউল লোড করতে এবং বুটে ডেমন অটো-স্টার্ট করতে:

sudo systemctl start netatop
sudo systemctl enable netatop

ইনস্টল হলে, atop-এ n চাপলে প্রসেস প্রতি বাইট সেন্ট/রিসিভড, প্যাকেট কাউন্ট, এবং নেটওয়ার্ক-সম্বন্ধীয় এরর দেখাবে।

atop -n

হিস্টোরিক্যাল লগ অ্যাক্সেস

Atop বাইনারি লগ ফাইল সংরক্ষণ করে:

/var/log/atop/atop_YYYYMMDD

উদাহরণস্বরূপ, atop_20250630 ফাইলটি জুন ৩০, ২০২৫-এর লগ ধারণ করে, যা বাইনারি ফাইল এবং মানব-পঠনযোগ্য নয়—শুধু atop পার্স করতে পারে।

আজকের লগ থেকে নির্দিষ্ট টাইম উইন্ডো দেখতে, মনে করুন সকাল ৫:০৫ থেকে:

atop -r -b 05:05 -l 1

এখানে:

  • -r Atop-কে লগ ফাইল থেকে পড়তে বলে।
  • -b শুরু করার সময় নির্দিষ্ট করে।
  • -l 1 আউটপুটকে মাত্র এক अन्तরাল স্ন্যাপশটে সীমাবদ্ধ করে।

স্পেসবার দিয়ে अन्तরাল এগিয়ে যান, T দিয়ে পিছিয়ে যান। Z লেটেস্ট এন্ট্রিতে যেতে।

Atop-এ হেল্প পাওয়া

atop ইন্টারফেসের মধ্যে থাকাকালীন ? চাপলে কমান্ড ও শর্টকাটের পূর্ণ তালিকা দেখায়, যা কম जाने অপশন খুঁজে বের করতে বা ডিসপ্লে পছন্দমতো টেলর করতে উপকারী।

উপসংহার

আশা করি আমার আর্টিকেলটি আপনার লিনাক্স সিস্টেমের সমস্যা সংকীর্ণ করতে বা রোধ করতে সাহায্য করবে। যদি atop-এর ব্যবহার সম্পর্কে কোনো প্রশ্ন থাকে বা স্পষ্টীকরণ চান, নিচে কমেন্ট সেকশনে পোস্ট করুন।

  1. Swift-এ UIImageView রিসাইজ করা

  2. জাভাস্ক্রিপ্টে বিদ্যমান অবজেক্টে প্রোপার্টি ও মেথড যোগ করা

  3. শুরुआতীদের জন্য সেরা জাভা IDE: সঠিক টুল বেছে নিন

  4. HTML DOM Input Week stepDown() মেথড