প্রক্রিয়া (এস) যা মেশিনকে হগিং করছে তা কীভাবে খুঁজে পাবেন


10

পরিস্থিতি: হঠাৎ করেই, আমার কম্পিউটারটি স্বাচ্ছন্দ্য বোধ করে। মাউস মুভ করে তবে উইন্ডোগুলি খোলার জন্য যুগে যুগে সময় লাগে, ইত্যাদি uptimesays বোঝায় যে লোড .6..6৯ এবং উত্থাপন।

কোন প্রক্রিয়া (এস) লোডের কারণ তা খুঁজে বের করার দ্রুততম উপায় কী?

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

সিস্টেমটি 8 গিগাবাইট র‌্যামিকে ডিস্কে পরিবর্তন করার চেষ্টা করছে কারণ প্রক্রিয়া এক্স ...

অথবা

প্রক্রিয়া এক্স সমস্ত ডিস্ক জুড়ে চেষ্টা

অথবা

প্রক্রিয়া এক্স 400% সিপিইউ ব্যবহার করে "

সুতরাং আমি যা খুঁজছি তা হ'ল আইওস্ট্যাট, এইচটিপ / এটপ এবং অনুরূপ সরঞ্জামগুলি এর মধ্যে একটি আউটপুট সহ চালিত হয়:

 1235 cp - Disk trashing
   87 chrome - Uses 2 GB of RAM
  137 nfs_bench - Uses 95% of the network bandwidth

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

আমার যুক্তিটি এরকম হয়: কোনও ব্যবহারকারী একটি সমস্যা লক্ষ্য করে। হাজার হাজার কারণ থাকতে পারে ... ভাল, প্রায় :-) ব্যবহারকারী সমস্যার উত্স জানতে চান।

বর্তমান সমাধানগুলি আমাকে প্রচুর সংখ্যা দেয় এবং এই সংখ্যাগুলির অর্থ কী তা আমার জানতে হবে। আমি যা খুঁজছি তা একটি মেটা সরঞ্জাম। 99% ডেটা সমস্যা থেকে অপ্রাসঙ্গিক। সুতরাং টুলটি কী করা উচিত সেই প্রক্রিয়াগুলি অনুসন্ধান করা উচিত যা কিছু সংস্থান সংস্থান করে এবং কেবল তাদের সাথে তালিকাবদ্ধ করে "এই প্রক্রিয়াটির জন্য অনেকগুলি সিপিইউ প্রয়োজন, এটি অনেকগুলি আইআরকিউ তৈরি করে, এই প্রক্রিয়াটি প্রচুর র‌্যাম বরাদ্দ করে (এবং এটি এখনও বাড়ছে)"।

এটি তুলনামূলকভাবে সংক্ষিপ্ত তালিকা হবে। এর বাইরে নতুন কারও পক্ষে এই তালিকা থেকে অপরাধীকে সনাক্ত করা আরও সহজ হবে, বলুন, htopযা আমাকে প্রায় 5000 নম্বর দেয় তবে আমাকে মাল্টি-থ্রেডেড প্রক্রিয়াগুলি নিজেই ভাঁজ করা প্রয়োজন (আমার 50 টি লাইন রয়েছে VIRT 2750Mতবে কেবলমাত্র 16 গিগাবাইট র্যাম - মেশিনটি নিজেরাই মৃত্যুর দিকে নিজেকে বদল করতে পারে তবে অবশ্যই এটি ডেটার একটি ভুল ব্যাখ্যা যা দ্রুত ঘটতে পারে)।


কেন দেখছি না। আপনি যে লক্ষণগুলি বর্ণনা করেছেন তা ডিস্কের ট্র্যাশগুলির নয় (মাউসকে প্রভাবিত করবে না)। অলস মাউস সম্পূর্ণ ক্ষমতা সম্পন্ন ক্লাসিক সিপিইউ।
soandos

1
এইটা শুধুমাত্র একটা উদাহরণ. দয়া করে এটি একটি নুনের দানা দিয়ে নিন। কল্পনা করুন যে কম্পিউটারের সামনে একটি নুব বসে আছেন তিনি কিছুই জানেন না। কীভাবে চলছে তা তিনি কীভাবে সহজে আবিষ্কার করতে পারেন (অর্থাত্ আধা ঘন্টা ব্যয় না করে কী কী আউটপুট দেয় top)
অ্যারন ডিগুল্লা

আপনি কি গুই এবং সমস্ত কিছুর সাথে টাস্ক ম্যানেজারের সমতুল্য একটি লিনাক্স সন্ধান করছেন?
soandos

আমি চালিত এমন কোনও কিছুর সন্ধান করি এবং যা বলে যে "প্রসেস এক্স মেশিনটিকে হোগিং করছে"।
অ্যারোন দিগুল্লা

উত্তর:


3

আমাকে প্রতিক্রিয়াগুলি দেখে হাসতে হবে কারণ প্রত্যেকে আপনাকে টুল এক্স চালানোর জন্য বলেছে The একমাত্র সমস্যাটি হ'ল যদি আপনি যা কিছু দেখছেন তা আন্তঃসংশ্লিষ্ট থাকলে কোনও কিছুর সাথে সম্পর্কযুক্ত হওয়ার কোনও উপায় থাকবে না। মত একটি টুল এসএআর আপনি একটি যথেষ্ট উচ্চ ফ্রিকোয়েন্সিতে এটি চালানোর পারেন, তবে আমি দাবি করি collectl আরও উত্তম।

স্যারের মতো , আপনি এটি আরপিএম ইনস্টল করে এবং ডেমন হিসাবে চালান /etc/init.d/collectl start

এখন আপনি যখন collectl -p /var/log/collectl/filename --topকোনও অলস কিছু দেখবেন, তখন ডেটা ফিরে খেলবে এবং আপনাকে শীর্ষগুলি প্রক্রিয়াগুলি দেখিয়ে দেবে। আপনি ঠিক চালাতে collectl --topএবং এগুলিকে রিয়েল টাইমে দেখতে পারতেন । বিটিডব্লিউ - রিয়েল টাইমে আপনি যা কিছু করতে পারেন আপনি পাশাপাশি প্লেব্যাক করতে পারেন।

সিপিইউ লোডের বিষয়ে যদি আপনি বাধা দিয়ে অতিরিক্ত বোঝা হয়ে যাচ্ছেন? collectl -sCপৃথক সিপিইউগুলিতে লোডগুলি প্রদর্শন করবে না (বা -scগড় লোডের জন্য ব্যবহার করুন ) এটি কীভাবে তাদের সময় ব্যয় করছে তা দেখিয়ে দেবে। -j( -scj) অন্তর্ভুক্ত করুন এবং আপনি বাধা / সিপিইউয়ের সংখ্যা দেখতে পাবেন। বড় হাতের অক্ষর ব্যবহার করুন -Jএবং আপনি প্রতিটি বিঘ্নিত / সিপিইউয়ের টাইপগুলি দেখতে পাবেন।

অবশ্যই, আপনি যদি সত্যিই ভিএমস্ট্যাট পছন্দ করেন তবে আপনি সর্বদা প্লেব্যাকের মাধ্যমে ডেটা প্লেব্যাক করতে পারেন --vmstatএবং এটি ভিএমস্ট্যাট ফর্ম্যাটে historical তিহাসিক ডেটা প্রদর্শন করবে।

আমার তালিকার জন্য সময় পাওয়ার চেয়ে আরও অনেকগুলি স্যুইচ রয়েছে তবে আপনি এটি সোর্সফোর্সে দেখতে বা এটি গুগল করতে পারেন।


ধন্যবাদ; এটি ঠিক আমি যা খুঁজছিলাম তা নয় তবে কমপক্ষে এটি একটি ভাল সূচনার পয়েন্ট।
অ্যারন দিগুল্লা

কল্পনাপ্রসূত সরঞ্জাম! এবং উবুন্টুতে (কমপক্ষে 12.04 সাল থেকে) আপনাকে কেবল প্যাকেজটি ইনস্টল করতে হবে - এটি ইনস্টল এবং তারপরে পুনরায় বুট করার সময় স্বয়ংক্রিয়ভাবে
ডেমোন শুরু

6

"শীর্ষ" যথাযথভাবে ভাল কাজ করে, আপনি যতক্ষণ সঠিক সংখ্যার দিকে নজর রাখবেন। দেখা যাক:

top - 13:11:45 up 13 days,  1:13, 21 users,  load average: 0.06, 0.11, 0.26
Tasks: 271 total,   2 running, 267 sleeping,   0 stopped,   2 zombie
Cpu(s): 19.0%us,  6.3%sy,  0.0%ni, 74.0%id,  0.5%wa,  0.0%hi,  0.2%si,  0.0%st
Mem:   8183668k total,  8002712k used,   180956k free,    12476k buffers
Swap: 11847900k total,   723480k used, 11124420k free,   767016k cached

এখন, যদি সিপিইউ সমস্ত গ্রহণের কারণে সিস্টেমটি ধীর হয় তবে এটি "সিপিইউ" এর "আমাদের" এবং "সিআই" কলাম হিসাবে দেখায়: "সারি এক সাথে 100% এর কাছাকাছি রয়েছে being

অদলবদলের কারণে যদি এটি ধীর হয় তবে "মেম:" "ফ্রি" খুব কম মান এবং "স্বপ:" "ব্যবহৃত" উচ্চ মানের দেখায়।

যদি এটি সাধারণভাবে I / O এর কারণে ধীর হয় , তবে "সিপু (গুলি):" "ওয়া" বলে যে সময় I / O অপেক্ষা করতে ব্যয় করে।

এখন, আপনি যদি জানেন যে I / O অপেক্ষা করছে সমস্যা, আপনি কোন প্রসেসটি সবচেয়ে বেশি I / O তৈরি করেন তা জানতে আপনি "iotop" প্রোগ্রামগুলি ব্যবহার করতে পারেন।


+1 তবে আমি এমন একটি সরঞ্জামের সন্ধান করছি যা আমার জন্য এই বিশ্লেষণ করে এবং সমস্যাটি কিছু তথ্য সহ প্রিন্ট করে। আমি "কাঁচা" চিত্রগুলি থেকে এটি সংগ্রহ করতে চাই না। কিছু?
অ্যারোন দিগুল্লা

1
আমি দুঃখিত, তবে আপনি মৌলিক স্তরে বিভিন্ন ধরণের আলগলের মধ্যে পার্থক্য না বুঝে মেশিনের স্লোনেসের মতো সমস্যার সমাধান করতে পারবেন না। যদি এই ধরণের সরঞ্জাম বিদ্যমান থাকে তবে আমি সেগুলি সম্পর্কে জানি না; সম্ভবত আপনার একটি দক্ষ কম্পিউটার প্রশাসক / সার্ভিসিং লোক দরকার।
জেডএস

এটির মতো সরঞ্জাম উপস্থিত থাকলে এটি দুর্দান্ত হবে কারণ এটি স্বয়ংক্রিয়ভাবে নির্ধারণ করা সম্ভব: যদি আমি আউটপুট থেকে বলতে topপারি, তবে একটি কম্পিউটারও করতে পারে। এটি মোনা লিসার হাসি নয়, এটি "খারাপ" সন্ধানের জন্য কিছু সংখ্যার ক্রাচ করছে।
অ্যারোন দিগুল্ল

2

400% ব্যবহারের ভিত্তিতে, আমি ধরে নেব যে আপনার কাছে কোয়াড-কোর প্রসেসর রয়েছে। আপনার বোঝা গড়ের পরিমাণ প্রায় দ্বিগুণ এবং প্রক্রিয়ায় অর্ধেক সিপিইউয়ের জন্য অপেক্ষা করছে।

প্রথমে reniceআপনার শেলটি আরও প্রতিক্রিয়াশীল সিস্টেম পেতে 0 বা -10 এ ক্লিক করুন এবং তারপরে htopআপত্তিকর প্রক্রিয়া (এস) এবং straceএটি প্রদত্ত প্রক্রিয়াতে অনুসরণ করুন। অন্যান্য সরঞ্জামগুলি কার্যকর হতে পারে:

  • vmsat
  • sar
  • iostat
  • pmap

1

খুব বেশি বাধাজনিত চাপের কারণে বা ইউএসবি কন্ট্রোলাররা খুব ব্যস্ত থাকায় (আমি ধরে নিলাম এটি একটি ইউএসবি মাউস আছে) এর কারণে আলস্য মাউসও হতে পারে।


কোন সরঞ্জাম যা আমাকে বলছে যে কোন ড্রাইভার / উপাদান উচ্চ আইআরকিউ লোডের কারণ?
অ্যারোন দিগুল্লা

1

vmstat আপনাকে সাধারণ পদে সহায়তা করতে পারে। ব্যবহারের একটি উদাহরণ:

$ vmstat
procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa
 1  0      0 977908 426184 1543884    0    0    38    45  106  385  4  1 95  1

আপনি এটি প্রতি X সেকেন্ডে চালাতে পারেন - কমান্ডের পরে কেবল এক্স নম্বর যুক্ত করুন।

সম্পাদনা করুন: মন্তব্যের দৃষ্টিতে ... একটি ফাইলে নিম্নলিখিতটি লিখুন এবং সেই ফাইলটিকে সম্পাদনযোগ্য করে তুলুন। এটি আপনাকে মেশিনে শীর্ষ 3 প্রক্রিয়া বলবে।

top -n 1 | tail -16 | head -4 | awk '{print $13}'

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


আমি আরও উচ্চ স্তরের কিছু সন্ধান করছি। এটি আমার কাছে ভিএমস্ট্যাট চালানো এবং সংখ্যা বিশ্লেষণ করা উচিত, সুতরাং "সিস" বলতে কী বোঝায় এবং বড় "সিএস" "ভাল" বা "খারাপ" কিনা তা আমার জানতে হবে না।
অ্যারোন দিগুল্লা
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.