কীভাবে সিস্টেমের ব্যবহার, আউটজেস এবং সমস্যা সমাধানের জন্য লিনাক্স সার্ভারগুলি পর্যবেক্ষণ করবেন - অংশ 9


যদিও লিনাক্স অত্যন্ত নির্ভরযোগ্য, বুদ্ধিমান সিস্টেম প্রশাসকদের উচিত সর্বদা সিস্টেমের আচরণ এবং ব্যবহারের দিকে নজর রাখার একটি উপায় খুঁজে পাওয়া। যতটা সম্ভব 100% এর কাছাকাছি একটি আপটাইম নিশ্চিত করা এবং সংস্থানসমূহের সহজলভ্যতা অনেক পরিবেশে গুরুত্বপূর্ণ প্রয়োজন। সিস্টেমের অতীত এবং বর্তমান অবস্থা পরীক্ষা করে আমাদের সম্ভাব্য সমস্যাগুলি রোধ করতে এবং সম্ভবত সম্ভাব্য সমস্যাগুলি রোধ করে।

লিনাক্স ফাউন্ডেশন শংসাপত্র প্রোগ্রামটি উপস্থাপন করা হচ্ছে

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

সংগ্রহস্থল স্থান ব্যবহার

লিনাক্সে 2 টি সুপরিচিত কমান্ড রয়েছে যা স্টোরেজ স্পেসের ব্যবহার পরীক্ষা করতে ব্যবহৃত হয়: ডিএফ এবং du

প্রথমটি ডিএফ (যা ডিস্ক ফ্রি হিসাবে দাঁড়িয়েছে) সাধারণত ফাইল সিস্টেমের মাধ্যমে সামগ্রিক ডিস্ক স্পেস ব্যবহারের প্রতিবেদন করতে ব্যবহৃত হয়।

বিকল্প ছাড়াই ডিএফ বাইটে ডিস্ক স্পেস ব্যবহারের প্রতিবেদন করে। -h পতাকা সহ এটি এমবি বা জিবি ব্যবহার করে একই তথ্য প্রদর্শন করবে display মনে রাখবেন যে এই প্রতিবেদনে প্রতিটি ফাইল সিস্টেমের মোট আকার (1-কে ব্লকে), বিনামূল্যে এবং উপলভ্য স্থান এবং প্রতিটি স্টোরেজ ডিভাইসের মাউন্ট পয়েন্ট অন্তর্ভুক্ত রয়েছে।

# df
# df -h

এটি অবশ্যই দুর্দান্ত - তবে এর মধ্যে আরও একটি সীমাবদ্ধতা রয়েছে যা কোনও ফাইল সিস্টেমকে ব্যবহারযোগ্য না করে দিতে পারে এবং এটি ইনোডের বাইরে চলে। একটি ফাইল সিস্টেমে সমস্ত ফাইল একটি মেইলযুক্ত করা হয় যা তার মেটাডেটা ধারণ করে একটি ইনোডে।

# df -hTi

আপনি ব্যবহৃত এবং উপলব্ধ ইনোডের পরিমাণ দেখতে পাবেন:

উপরের চিত্র অনুসারে, বাড়িতে/ঘরে 146 ব্যবহৃত ইনোড রয়েছে ( 1% ), যার অর্থ আপনি এখনও সেই ফাইল সিস্টেমে 226K ফাইল তৈরি করতে পারেন।

নোট করুন যে আপনি ইনোডগুলি চালিয়ে যাওয়ার অনেক আগে স্টোরেজ স্পেসের বাইরে চলে যেতে পারেন, এবং তদ্বিপরীত। সেই কারণে, আপনাকে কেবল স্টোরেজ স্পেসের ব্যবহার নয়, ফাইল সিস্টেম দ্বারা ব্যবহৃত ইনোডের সংখ্যাও পর্যবেক্ষণ করতে হবে।

খালি ফাইল বা ডিরেক্টরিগুলি (যা 0 বি দখল করে) অনুসন্ধান করার জন্য নিম্নলিখিত কমান্ডগুলি ব্যবহার করুন যা বিনা কারণে ইনোড ব্যবহার করছে:

# find  /home -type f -empty
# find  /home -type d -empty

এছাড়াও, আপনি যদি এই খালি ফাইল এবং ডিরেক্টরিগুলি মুছতে চান তবে প্রতিটি কমান্ডের শেষে -মুছে পতাকাটি যুক্ত করতে পারেন:

# find  /home -type f -empty --delete
# find  /home -type f -empty

পূর্বের পদ্ধতিটি 4 টি ফাইল মুছেছিল। আসুন আবার/বাড়িতে ব্যবহার করা/উপলভ্য নোডের সংখ্যাটি আবার যাচাই করে দেখি:

# df -hTi | grep home

আপনি দেখতে পাচ্ছেন, এখন 142 ইনোড ব্যবহৃত হয়েছে (আগের তুলনায় 4 কম)।

যদি কোনও নির্দিষ্ট ফাইল সিস্টেমের ব্যবহার পূর্বনির্ধারিত শতাংশের উপরে হয় তবে আপনি সবচেয়ে বেশি জায়গা দখল করছেন এমন ফাইলগুলি কী তা জানতে ডু (ডিস্ক ব্যবহারের জন্য সংক্ষিপ্ত) ব্যবহার করতে পারেন।

উদাহরণটি /var এর জন্য দেওয়া হয়েছে, যা আপনি উপরের প্রথম চিত্রটিতে দেখতে পাচ্ছেন, এটির 67% ব্যবহার করা হয়।

# du -sch /var/*

দ্রষ্টব্য: আপনি উপরের যে কোনও উপ-ডিরেক্টরিতে স্যুইচ করতে পারেন যেগুলির মধ্যে ঠিক কী আছে এবং প্রতিটি আইটেম কতটা দখল করে। তারপরে আপনি প্রয়োজন না হলে কিছু ফাইল মুছে ফেলার জন্য প্রয়োজনীয় তথ্য ব্যবহার করতে পারেন বা প্রয়োজনে লজিক্যাল ভলিউমের আকার বাড়িয়ে দিতে পারেন।

আরও পড়ুন

  1. ডিস্কের স্থান পরীক্ষা করার জন্য 12 টি দরকারী "ডিএফ" কমান্ড
  2. ফাইল এবং ডিরেক্টরিগুলির ডিস্ক ব্যবহার সন্ধান করার জন্য 10 টি দরকারী "du" কমান্ড।

মেমরি এবং সিপিইউ ব্যবহার

লিনাক্সের ক্লাসিক সরঞ্জাম যা সিপিইউ/মেমরির ব্যবহার এবং প্রক্রিয়া পরিচালনার সামগ্রিক চেক সঞ্চালনের জন্য ব্যবহৃত হয় এটি হটোপ, তবে আমি শীর্ষে স্থির হয়েছি কারণ এটি কোনও লিনাক্স বিতরণে বাক্সের বাইরে ইনস্টলড রয়েছে।

শীর্ষস্থানটি শুরু করতে আপনার কমান্ড লাইনে নিম্নলিখিত কমান্ডটি টাইপ করুন এবং এন্টার টিপুন।

# top

আসুন একটি সাধারণ শীর্ষ আউটপুট পরীক্ষা করা যাক:

সারি 1 থেকে 5 পর্যন্ত নিম্নলিখিত তথ্য প্রদর্শিত হয়:

1. বর্তমান সময় (8:41:32 pm) এবং আপটাইম (7 ঘন্টা 41 মিনিট)। কেবলমাত্র একজন ব্যবহারকারী সিস্টেমে লগইন করেছেন এবং শেষ 1, 5 এবং 15 মিনিটের সময় যথাক্রমে লোড গড়। 0.00, 0.01, এবং 0.05 নির্দেশ করে যে সেই সময়ের ব্যবধানগুলিতে সিস্টেম 0% সময়ের জন্য অলস ছিল (0.00: কোনও প্রক্রিয়া সিপিইউয়ের জন্য অপেক্ষা করছিল না), পরে এটি 1% (0.01: 0.01 গড়ে গড়ে 0.01 প্রক্রিয়া দ্বারা লোড করা হয়েছিল) সিপিইউ) এবং 5% (0.05) এর জন্য অপেক্ষা করছিলেন। যদি 0 এর চেয়ে কম হয় এবং সংখ্যাটি (0.65, উদাহরণস্বরূপ) হয় তবে সিস্টেমটি শেষ 1, 5, বা 15 মিনিটের সময় 35% জন্য অলস ছিল, যেখানে 0.65 প্রদর্শিত হবে depending

2. বর্তমানে 121 টি প্রক্রিয়া চলছে (আপনি 6 এ সম্পূর্ণ তালিকা দেখতে পাবেন)। তাদের মধ্যে কেবল 1 টি চলমান রয়েছে (আপনি এই ক্ষেত্রে% সিপিইউ কলামে দেখতে পাবেন) শীর্ষস্থানীয় এবং বাকি 120 জন ব্যাকগ্রাউন্ডে অপেক্ষা করছে তবে "ঘুমন্ত" এবং আমরা তাদের না বলা পর্যন্ত সেই অবস্থায় থাকবে that কীভাবে? আপনি এটি একটি মাইএসকিএল প্রম্পট খোলার মাধ্যমে যাচাই করতে পারেন এবং বেশ কয়েকটি ক্যোয়ারী চালিয়ে যেতে পারেন। চলমান প্রক্রিয়াগুলির সংখ্যা কীভাবে বৃদ্ধি পায় তা আপনি লক্ষ্য করবেন।

বিকল্পভাবে, আপনি একটি ওয়েব ব্রাউজার খুলতে এবং অ্যাপাচি দ্বারা পরিবেশন করা যে কোনও প্রদত্ত পৃষ্ঠায় নেভিগেট করতে পারেন এবং আপনি একই ফলাফল পাবেন। অবশ্যই, এই উদাহরণগুলি ধরে নেয় যে উভয় পরিষেবাগুলি আপনার সার্ভারে ইনস্টল করা আছে।

৩. আমাদের (অযাচিত অগ্রাধিকার সহ ব্যবহারকারী প্রসেস চলমান সময়), সি (কার্নেল প্রক্রিয়া চলমান সময়), এনআই (পরিবর্তিত অগ্রাধিকার সহ ব্যবহারকারী প্রসেসের সময়), ওয়া (আই/ও সমাপ্তির অপেক্ষার সময়), হাই (হার্ডওয়ার বিঘ্নিত সার্ভিসগুলিতে সময় ব্যয় করা), সে (হাইপারভাইজারের দ্বারা বর্তমান ভিএম থেকে চুরি করা সময় - কেবল ভার্চুয়ালাইজড পরিবেশে)।

4. শারীরিক মেমরির ব্যবহার।

5. স্থানের ব্যবহার অদলবদল করুন।

রu্যাম মেমরি এবং স্বাপের ব্যবহার পরীক্ষা করতে আপনি ফ্রি কমান্ডও ব্যবহার করতে পারেন।

# free

অবশ্যই আপনি মানব-পঠনযোগ্য আকারে একই তথ্য প্রদর্শনের জন্য -মি (এমবি) বা -জি (জিবি) স্যুইচগুলি ব্যবহার করতে পারেন:

# free -m

যে কোনও উপায়ে, আপনার এই সত্যটি সম্পর্কে সচেতন হওয়া দরকার যে কার্নেল যতটা সম্ভব মেমরি সংরক্ষণ করে এবং যখন তারা এটির অনুরোধ করে তখন এটি প্রক্রিয়াগুলিতে উপলব্ধ করে। বিশেষত, " -/+ বাফার/ক্যাশে " লাইন এই আই/ও ক্যাশে বিবেচনার পরে প্রকৃত মানগুলি দেখায়।

অন্য কথায়, প্রক্রিয়া দ্বারা ব্যবহৃত মেমরির পরিমাণ এবং অন্যান্য প্রক্রিয়াগুলির জন্য উপলভ্য পরিমাণ (এই ক্ষেত্রে, 232 এমবি ব্যবহৃত হয়েছে এবং যথাক্রমে 270 এমবি উপলব্ধ)। প্রক্রিয়াগুলিতে এই মেমরির প্রয়োজন হলে, কার্নেলটি স্বয়ংক্রিয়ভাবে I/O ক্যাশে আকার হ্রাস পাবে।

আরও পড়ুন : 10 লিনাক্স মেমরির ব্যবহার পরীক্ষা করার জন্য দরকারী "ফ্রি" কমান্ড

প্রক্রিয়াগুলি ঘনিষ্ঠভাবে দেখছেন

যে কোনও সময়ে, আমাদের লিনাক্স সিস্টেমে প্রচুর প্রক্রিয়া চলছে। দুটি সরঞ্জাম রয়েছে যা আমরা প্রক্রিয়াগুলি নিবিড়ভাবে নিরীক্ষণ করতে ব্যবহার করব: পিএস এবং pstree

-e এবং -f বিকল্পগুলিকে এক ( -ef ) এর সাথে একত্রিত করে আপনি বর্তমানে আপনার সিস্টেমে চলমান সমস্ত প্রক্রিয়াটি তালিকাভুক্ত করতে পারেন। আপনি এই আউটপুটটিকে অন্যান্য সরঞ্জামগুলিতে পাইপ করতে পারেন, যেমন গ্রেপ (এলএফসিএস সিরিজের 1 ম অংশে ব্যাখ্যা করা হয়েছে) আউটপুটটিকে আপনার পছন্দসই প্রক্রিয়াতে সংকুচিত করতে (এস):

# ps -ef | grep -i squid | grep -v grep

উপরের প্রক্রিয়া তালিকাটি নিম্নলিখিত তথ্যগুলি দেখায়:

প্রক্রিয়াটির মালিক, পিআইডি, প্যারেন্ট পিআইডি (প্যারেন্ট প্রসেস), প্রসেসরের ব্যবহার, কমান্ড শুরু হওয়ার সময়, টিটি (দ্য ইমন এটি একটি ডেমন ইঙ্গিত করে), জমে থাকা সিপিইউ সময় এবং প্রক্রিয়াটির সাথে সম্পর্কিত কমান্ড।

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

# ps -eo user,comm,pid,ppid,%mem --sort -%mem

যেখানে% মেমের সামনে বিয়োগ চিহ্নটি নিম্নোক্ত ক্রমে সাজানোর ইঙ্গিত দেয়।

যদি কোনও কারণে কোনও প্রক্রিয়া সিস্টেমের অত্যধিক সংস্থান গ্রহণ করতে শুরু করে এবং এটি সিস্টেমের সামগ্রিক কার্যকারিতা হুমকির সম্মুখীন হওয়ার সম্ভাবনা থাকে তবে আপনি কিল প্রোগ্রামটি ব্যবহার করে নীচের সিগন্যালগুলির মধ্যে একটিটি পাস করে এর সম্পাদন থামিয়ে দিতে বা বিরতি দিতে চান। আপনি যে কাজটি বিবেচনা করবেন তা অন্যান্য কারণ হ'ল আপনি যখন অগ্রভাগে কোনও প্রক্রিয়া শুরু করেন তবে এটিকে থামিয়ে পটভূমিতে আবার শুরু করতে চান।

যখন কোনও নির্দিষ্ট প্রক্রিয়াটির সাধারণ সম্পাদন বোঝায় যে চলমান অবস্থায় কোনও আউটপুট স্ক্রিনে প্রেরণ করা হবে না, আপনি এটি ব্যাকগ্রাউন্ডে (কমান্ডের শেষে একটি এম্পারস্যান্ড যুক্ত করা) শুরু করতে চাইতে পারেন।

process_name &

বা,
একবার এটি অগ্রভাগে চলতে শুরু করলে, এটি বিরতি দিন এবং এর সাথে পটভূমিতে প্রেরণ করুন

Ctrl + Z
# kill -18 PID

দয়া করে নোট করুন যে প্রতিটি বিতরণ সিসভিভি ভিত্তিক সিস্টেমে পরিষেবা বা সিস্টেম-ভিত্তিক সিস্টেমগুলিতে পরিষেবা র মতো সাধারণ পরিষেবাদিগুলি গ্রেপ্তার/স্টার্ট/পুনঃসূচনা/পুনরায় লোড করার সরঞ্জাম সরবরাহ করে।

যদি কোনও প্রক্রিয়া এই ইউটিলিটিগুলিতে সাড়া না দেয় তবে আপনি এটিতে সিগ্কিল সিগন্যাল প্রেরণ করে জোর করে হত্যা করতে পারেন।

# ps -ef | grep apache
# kill -9 3821

সুতরাং .. কি ঘটেছে/ঘটছে?

সিস্টেমে যখন কোনও ধরণের আউটেজ হয়েছে (এটি কোনও বিদ্যুৎ বিভ্রাট, একটি হার্ডওয়্যার ব্যর্থতা, কোনও প্রক্রিয়াটির পরিকল্পনামূলক বা অপরিকল্পিত বাধা, বা কোনও অস্বাভাবিকতা) তখন লগ ইন /var/লগ কী হয়েছে বা কী কারণে আপনার সমস্যার মুখোমুখি হচ্ছে তা নির্ধারণ করার জন্য আপনার সেরা বন্ধু।

# cd /var/log

/ভার/লগ র আইটেমগুলির মধ্যে কয়েকটি হ'ল নিয়মিত পাঠ্য ফাইল, অন্যগুলি ডিরেক্টরি এবং অন্যগুলি ঘোরানো (historicalতিহাসিক) লগগুলির সংকুচিত ফাইল। আপনি তাদের নামের শব্দের ত্রুটিযুক্ত ব্যক্তিদের যাচাই করতে চাইবেন, তবে বাকী পরিদর্শন করাও কার্যকর হতে পারে।

এই দৃশ্যের চিত্র। আপনার ল্যান ক্লায়েন্টগুলি নেটওয়ার্ক মুদ্রকগুলিতে মুদ্রণ করতে অক্ষম। এই পরিস্থিতিটির সমস্যা সমাধানের প্রথম পদক্ষেপ /var/লগ/কাপ ডিরেক্টরিতে যাচ্ছে এবং সেখানে কী রয়েছে তা দেখুন।

লগটির আসল-সময় দেখার জন্য আপনি ত্রুটি_লগ ফাইলের শেষ 10 টি লাইন প্রদর্শন করতে লেজ কমান্ডটি ব্যবহার করতে পারেন বা পুচ্ছ-ত্রুটি_লগ

# cd /var/log/cups
# ls
# tail error_log

উপরের স্ক্রিনশটটি আপনার সমস্যার কারণ কী হতে পারে তা বোঝার জন্য কিছু সহায়ক তথ্য সরবরাহ করে। নোট করুন যে পদক্ষেপগুলি অনুসরণ করা বা প্রক্রিয়াটির ত্রুটি সংশোধন করা এখনও সামগ্রিক সমস্যার সমাধান করতে পারে না, তবে প্রতিবারই যখন কোনও সমস্যা দেখা দেয় তখন লগগুলি পরীক্ষা করার জন্য আপনি শুরু থেকেই ডান হয়ে থাকেন (এটি স্থানীয় বা কোনও নেটওয়ার্কই হোক) আপনি 'অবশ্যই সঠিক পথে থাকব।

যদিও হার্ডওয়্যার ব্যর্থতা সমস্যা সমাধানের জন্য জটিল হতে পারে, তবে আপনার একটি হার্ডওয়্যার অংশের অনুমানযুক্ত ত্রুটিযুক্ত সম্পর্কিত শব্দের জন্য dmesg এবং বার্তা লগ এবং গ্রেপ পরীক্ষা করা উচিত।

নীচের চিত্রটি নীচের কমান্ডটি ব্যবহার করে ত্রুটি শব্দটি অনুসন্ধান করার পরে /var/লগ/বার্তা থেকে নেওয়া হয়েছে:

# less /var/log/messages | grep -i error

আমরা দেখতে পাচ্ছি যে দুটি স্টোরেজ ডিভাইস নিয়ে আমাদের সমস্যা হচ্ছে: /dev/sdb এবং /dev/sdc , যার ফলস্বরূপ RAID অ্যারেতে সমস্যা দেখা দেয়।

উপসংহার

এই নিবন্ধে আমরা কয়েকটি সরঞ্জাম অনুসন্ধান করেছি যা আপনাকে সর্বদা আপনার সিস্টেমের সামগ্রিক অবস্থা সম্পর্কে সচেতন হতে সহায়তা করতে পারে। এছাড়াও, আপনার অপারেটিং সিস্টেম এবং ইনস্টল করা প্যাকেজগুলি তাদের সর্বশেষ স্থিতিশীল সংস্করণগুলিতে আপডেট হয়েছে তা নিশ্চিত করা দরকার। এবং কখনও কখনও, লগ চেক করতে ভুলবেন না! তারপরে যে কোনও সমস্যার সুনির্দিষ্ট সমাধান খুঁজতে আপনাকে সঠিক দিকে পরিচালিত করা হবে।

নীচের ফর্মটি ব্যবহার করে আপনার মতামত, পরামর্শ বা প্রশ্নগুলি নির্দ্বিধায় ফেলতে পারেন you