লিনাক্স সিপিইউ ব্যবহার এবং প্রক্রিয়া সম্পাদন ইতিহাস


38

কোন প্রক্রিয়া (এস) সবচেয়ে বেশি সিপিইউ ব্যবহারের কারণ হয়েছে তা দেখার কোনও উপায় আছে কি?

আমার কাছে আমাজান ইসি 2 লিনাক্স রয়েছে যা সিপিইউ ব্যবহার 100 শতাংশে পৌঁছেছে এবং আমাকে সিস্টেমটি পুনরায় বুট করার জন্য তৈরি করে। আমি এসএসএইচে (পুট্টি ব্যবহার করে) লগইন করতে পারি না।

এমন কোনও সিপিইউ ব্যবহারের কারণ কী এবং কোন প্রক্রিয়াটি এর ফলে ঘটেছে তা দেখার কোনও উপায় আছে কি?

আমি sarএবং topআদেশ জানি কিন্তু আমি কোথাও প্রক্রিয়া সম্পাদনের ইতিহাস খুঁজে পাইনি। আমাজন ইসি 2 মনিটরিং সরঞ্জাম থেকে প্রাপ্ত চিত্রটি এখানে রয়েছে তবে আমি জানতে চাই যে কোন প্রক্রিয়াটি এর কারণ হয়েছে:

এখানে চিত্র বর্ণনা লিখুন

আমি চেষ্টাও করেছি ps -eo pcpu,args | sort -k 1 -r | head -100তবে ভাগ্যর এত উচ্চ সিপিইউ ব্যবহারের সন্ধান নেই।

উত্তর:


34

আপনি এটি করতে পারেন এমন কয়েকটি সম্ভাব্য উপায় রয়েছে। নোট করুন যে এটি সম্পূর্ণরূপে সম্ভব এটির সম্ভাব্য প্রক্রিয়াগুলি কেবল একটি নয়, পলাতক দৃশ্যে এটির কারণ।

প্রথম উপায়টি পটভূমিতে চালানো এবং ডেটা উত্পাদন করার জন্য পিডস্ট্যাট সেটআপ করা।

pidstat -u 600 >/var/log/pidstats.log & disown $!

এটি আপনাকে দশ মিনিটের ব্যবধানে সিস্টেমের চলমান সম্পর্কে যথেষ্ট বিশদ দৃষ্টিভঙ্গি দেবে। আমি এটি আপনার কলটির প্রথম পোর্ট হওয়ার পরামর্শ দেব কারণ এটি কাজ করার জন্য সবচেয়ে মূল্যবান / নির্ভরযোগ্য ডেটা তৈরি করে।

এটির সাথে একটি সমস্যা রয়েছে, প্রাথমিকভাবে যদি বাক্সটি পলাতক সিপিইউ লুপে চলে যায় এবং প্রচুর পরিমাণে বোঝা উত্পাদন করে - আপনার গ্যারান্টিযুক্ত নয় যে আপনার আসল প্রক্রিয়াটি সময়মতো লোডের সময় কার্যকর হবে (যদি আদৌ) তবে আপনি আউটপুটটি মিস করতে পারেন !

এটি দেখার দ্বিতীয় উপায় হ'ল প্রক্রিয়া অ্যাকাউন্টিং সক্ষম করা। একটি দীর্ঘমেয়াদী বিকল্প সম্ভবত।

accton on

এটি প্রক্রিয়া অ্যাকাউন্টিং সক্ষম করে (যদি ইতিমধ্যে যোগ না করা হয়)। এটি যদি আগে না চলত তবে এটি চালানোর জন্য সময় প্রয়োজন।

24 ঘন্টা দৌড়ে যাওয়ার জন্য - আপনি তারপরে এমন একটি কমান্ড চালাতে পারেন (যা এর ফলে আউটপুট উত্পন্ন করবে)

# sa --percentages --separate-times
     108  100.00%       7.84re  100.00%       0.00u  100.00%       0.00s  100.00%         0avio     19803k
       2    1.85%       0.00re    0.05%       0.00u   75.00%       0.00s    0.00%         0avio     29328k   troff
       2    1.85%       0.37re    4.73%       0.00u   25.00%       0.00s   44.44%         0avio     29632k   man
       7    6.48%       0.00re    0.01%       0.00u    0.00%       0.00s   44.44%         0avio     28400k   ps
       4    3.70%       0.00re    0.02%       0.00u    0.00%       0.00s   11.11%         0avio      9753k   ***other*
      26   24.07%       0.08re    1.01%       0.00u    0.00%       0.00s    0.00%         0avio      1130k   sa
      14   12.96%       0.00re    0.01%       0.00u    0.00%       0.00s    0.00%         0avio     28544k   ksmtuned*
      14   12.96%       0.00re    0.01%       0.00u    0.00%       0.00s    0.00%         0avio     28096k   awk
      14   12.96%       0.00re    0.01%       0.00u    0.00%       0.00s    0.00%         0avio     29623k   man*
       7    6.48%       7.00re   89.26%       0.00u    0.00%       0.00s    

কলামগুলি যেমন আদেশ করা হয়:

  1. কল সংখ্যা
  2. কল শতাংশ
  3. এই ধরণের সমস্ত প্রক্রিয়াতে ব্যয় করা আসল সময়ের পরিমাণ।
  4. শতকরা ভাগ।
  5. ব্যবহারকারী সিপিইউ সময়
  6. শতকরা হার
  7. সিস্টেম সিপিইউ সময়।
  8. গড় আইও কল।
  9. শতকরা হার
  10. কমান্ড নাম

আপনি যে সন্ধান করছেন তা হ'ল প্রক্রিয়া ধরণের যা সর্বাধিক ব্যবহারকারী / সিস্টেম সিপিইউ সময় উত্পন্ন করে।

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

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

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

lastcomm | grep "May  8 22:[01234]"
kworker/1:0       F    root     __         0.00 secs Tue May  8 22:20
sleep                  root     __         0.00 secs Tue May  8 22:49
sa                     root     pts/0      0.00 secs Tue May  8 22:49
sa                     root     pts/0      0.00 secs Tue May  8 22:49
sa                   X root     pts/0      0.00 secs Tue May  8 22:49
ksmtuned          F    root     __         0.00 secs Tue May  8 22:49
awk                    root     __         0.00 secs Tue May  8 22:49

সমস্যাটি কী কী হতে পারে সে সম্পর্কে এটি আপনাকে কিছু ইঙ্গিতও দিতে পারে।


খুব সুন্দর এবং বিস্তারিত উত্তর, ভাল কাজ!
বার্ট ডি ভোস

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

18

প্রক্রিয়া স্তরের ড্রিল-ডাউনগুলি দেখার জন্য উপরে এবং বিশেষত 28 দিনের জন্য এই ডেটাটি ডিফল্ট সংরক্ষণাগারভুক্তভাবে দেখার জন্য একটি বিশেষ সুবিধাজনক ডেমন At একটি দুর্দান্ত রিয়েল-টাইম মনিটরিং ইন্টারফেস উপস্থাপন করার পাশাপাশি, আপনি সেই লগ ফাইলগুলি খোলার জন্য নির্দিষ্ট করতে পারেন এবং সেগুলির মধ্য দিয়ে যেতে পারেন।

নিবন্ধ ক্ষমতা কিছু ধারণা দেয়, এবং আপনি আরো জানতে পারেন র manpage

এটি সত্যই একটি দুর্দান্ত সফ্টওয়্যার।


3

যেমন প্রোগ্রাম psmon এবং monit হয়তো আপনার জন্য সহায়ক। এগুলি আপনার সিস্টেমে চলমান প্রক্রিয়াগুলি পর্যবেক্ষণ করতে পারে এবং যদি কোনও প্রান্তিক (সিপিইউ ব্যবহার, মেমরির ব্যবহার ...) অতিক্রম করে, আপনি সেগুলি কী চলছে সে সম্পর্কে আপনাকে একটি ইমেল রিপোর্ট প্রেরণ করতে পারেন।

দুর্ব্যবহারের প্রক্রিয়াগুলি স্বয়ংক্রিয়ভাবে পুনরায় চালু করাও সম্ভব।


0

একটি সমাধান একটি স্ক্রিপ্ট লিখছে যা এক মিনিটের ক্রোন বা স্লিপ লুপের মাধ্যমে চালিত হয় এবং আপনাকে কোনও ইমেল / স্কিপ জব / ডাম্প পাঠিয়ে দেয় কোনও এবেস ভলিউমে ... প্রাসঙ্গিক আউটপুট সহ (সম্ভবত ডেমসগ, পিএসটি -পি এবং পিএস অক্স) vmstat) তাত্ক্ষণিকভাবে এটি নির্দিষ্ট সীমা ছাড়িয়ে লোড গড়কে আবিষ্কার করে ...

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.