লিনাক্স "টপ" কমান্ড: আমাদের, সিআই, এনআই, আইডি, ওয়া, হাই, সিআই এবং সিপি (ব্যবহারের জন্য) কী?


195

আমি যখন topলিনাক্সে ইস্যু করি, তখন আমি এর মতো একটি ফলাফল পাই:

শীর্ষের স্ক্রিনশট

লাইনগুলির একটিতে সিপিইউ ব্যবহারের তথ্য রয়েছে যা প্রতিনিধিত্ব করে:

Cpu(s): 87.3%us,  1.2%sy,  0.0%ni, 27.6%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st

যদিও আমি তাদের প্রত্যেকটির সংজ্ঞা জানি (একেবারে নীচে), আমি বুঝতে পারি না যে এই কার্যগুলির সঠিক অর্থ কী।

  • hi - হার্ডওয়্যার বিঘ্নিত হয়ে সার্ভিসিংয়ের অর্থ কী?
  • si - সার্ভিসিং সফ্টওয়্যার বাধা মানে কি?
  • st - তারা বলেছে যে এটি "ভার্চুয়াল সিপিইউ দ্বারা স্বেচ্ছাসেবী অপেক্ষা করার সিপিইউ সময় যখন হাইপারভাইজার অন্য ভার্চুয়াল মেশিন থেকে চুরি করা অন্য প্রসেসরের (বা)% সিপিইউ সময় সরবরাহ করছে"।

তবে আসলে এর অর্থ কী? কেউ আরও পরিষ্কার হতে পারে?

আমি সব তালিকাভুক্ত us, sy, ni, ইত্যাদি, কারণ এটি একই অনুসন্ধানের জন্য অন্যদের সাহায্য করতে পারে। এই তথ্য ম্যান পৃষ্ঠাগুলিতে নেই।

us: user cpu time (or) % CPU time spent in user space
sy: system cpu time (or) % CPU time spent in kernel space
ni: user nice cpu time (or) % CPU time spent on low priority processes
id: idle cpu time (or) % CPU time spent idle
wa: io wait cpu time (or) % CPU time spent in wait (on disk)
hi: hardware irq (or) % CPU time spent servicing/handling hardware interrupts
si: software irq (or) % CPU time spent servicing/handling software interrupts
st: steal time - - % CPU time in involuntary wait by virtual cpu while hypervisor is servicing another processor (or) % CPU time stolen from a virtual machine

উত্তর:


92

hiহার্ডওয়্যার বিঘ্ন প্রক্রিয়াকরণ ব্যয় সময়। হার্ডওয়্যার বিঘ্নগুলি হার্ডওয়্যার ডিভাইস (নেটওয়ার্ক কার্ড, কীবোর্ড নিয়ামক, বাহ্যিক টাইমার, হার্ডওয়্যার সেন্সর, ...) দ্বারা উত্পাদিত হয় যখন তাদের সিপিইউতে কোনও সংকেত দেওয়ার প্রয়োজন হয় (উদাহরণস্বরূপ, ডেটা উপস্থিত হয়েছে)।

যেহেতু এগুলি খুব ঘন ঘন ঘটতে পারে এবং যেহেতু তারা চলমান চলাকালীনভাবে চলমান সিপিইউকে অবরুদ্ধ করে, কার্নেল হার্ডওয়্যার বিঘ্নিত হ্যান্ডলারগুলি যতটা সম্ভব দ্রুত এবং সহজ হিসাবে লেখা হয়।

যদি দীর্ঘ বা জটিল প্রক্রিয়াজাতকরণের প্রয়োজন হয় তবে এই কাজগুলি একটি মেকানিজমিক কল ব্যবহার করে পিছিয়ে দেওয়া হয় softirqs। এগুলি স্বতন্ত্রভাবে নির্ধারিত হয়, যে কোনও সিপিইউতে চলতে পারে, একইসাথে চলতে পারে (এর কোনওটিই হার্ডওয়্যার বিঘ্নিত হ্যান্ডলারের ক্ষেত্রে সত্য নয়)।

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

উদাহরণস্বরূপ, একটি "কার্ড প্রাপ্তি" একটি নেটওয়ার্ক কার্ড থেকে হার্ডওয়্যার বিঘ্নিতভাবে কেবল "কার্ড ইথএক্স পরিবেশন করা প্রয়োজন" কোথাও তথ্য সংরক্ষণ করতে পারে এবং একটি নির্ধারিত করে softirqsoftirqজিনিস যে প্রকৃত প্যাকেট রাউটিং আরম্ভ করে হবে।

siএগুলিতে ব্যয় করা সময়কে উপস্থাপন করে softirqs

softirqপ্রক্রিয়া সম্পর্কে একটি ভাল পঠন (খুব সামান্য ইতিহাসের সাথে) হ'ল ম্যাথু উইলকক্সের আমি এটি করবো পরে: সফ্টিরিক্স, টাসলেটস, বটম হাল্ভস, টাস্ক কুইজস, ওয়ার্ক কুইউস এবং টাইমারস (পিডিএফ, k৪ কে)।

st, "চুরির সময়", কেবল ভার্চুয়ালাইজড পরিবেশে প্রাসঙ্গিক। এটি সেই সময়ের প্রতিনিধিত্ব করে যখন সত্যিকারের সিপিইউ বর্তমান ভার্চুয়াল মেশিনে উপলব্ধ ছিল না - হাইপারভাইজার দ্বারা (এটি অন্য কোনও ভিএম চালাতে, বা নিজের প্রয়োজনের জন্য) সেই ভিএম থেকে "চুরি" হয়েছিল।

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


খুব পরিস্কার. সুতরাং, আমি যদি কোনও নতুন সাউন্ড সিস্টেম, হেডসেট ইত্যাদি সংযোগ করি (এই বিষয়ে কোনও হার্ডওয়্যার) এটিও একটি হার্ডওয়্যার বিঘ্ন ঘটায়, তাই না?
এর_আমি

2
হ্যাঁ, এটি আপনার শব্দ চিপসেটের জন্য "কিছু ঘটেছে" ইঙ্গিত দেওয়ার একটি উপায় হতে পারে। তবে একটি হেডসেটে প্লাগিং পুরোপুরি সাউন্ড চিপ দ্বারা পরিচালিত হতে পারে (উদাহরণস্বরূপ মূল থেকে আপনার হেডফোনগুলিতে শব্দ আউটপুটটিকে পুনরায় রাউটিং করে), সুতরাং এটি মূল সিপিইউতে কোনও বাধা সৃষ্টি করতে পারে না। আপনার কীবোর্ডে একটি কী টাইপ করা হলেও বিঘ্ন সৃষ্টি করবে (আপনার ইউএসবি হাব ডিভাইস থেকে যদি আপনার কাছে একটি ইউএসবি কীবোর্ড থাকে তবে)। আরও দেখুন cat /proc/interrupts( man procদস্তাবেজের জন্য লোক । সেই ফাইলটি সম্পর্কে)।
মাদুর

15
  • আমাদের - ব্যবহারকারীর জায়গায় ব্যয় করা সময়
  • sy - কার্নেল স্পেসে ব্যয় করা সময়
  • NI - সময় অতিবাহিত ব্যবহারকারী প্রক্রিয়া চালিয়ে ব্যয় করেছে (ব্যবহারকারীর সংজ্ঞায়িত অগ্রাধিকার)
  • id - নিষ্ক্রিয় ক্রিয়াকলাপগুলিতে সময় ব্যয়
  • ওয়া - আইও পেরিফেরিয়ালের জন্য অপেক্ষা করার সময় ব্যয় (উদাহরণস্বরূপ ডিস্ক)
  • হাই - হার্ডওয়্যার বিঘ্নিত রুটিনগুলি পরিচালনা করতে সময় ব্যয় হয়েছে। (যখনই কোনও পেরিফেরাল ইউনিট সিপিইউ গঠনের দিকে মনোযোগ চায়, এটি আক্ষরিক অর্থে একটি লাইন টেনে দেয়, সিপিইউকে এটির সাথে সংকেত দেওয়ার জন্য)
  • সি - সময় কাটাতে সফটওয়্যার বিঘ্নিত রুটিনগুলি ব্যয় করেছে। (কোডের একটি অংশ, একটি বিঘ্নিত রুটিনকে কল করে ...)
  • সেন্ট - হাইপারভাইজার অন্য প্রসেসর (ভার্চুয়াল মেশিন থেকে চুরি করা) পরিবেশন করার সময় ভার্চুয়াল সিপিইউ দ্বারা স্বেচ্ছাসেবী অপেক্ষা করতে ব্যয় করা সময়

2

"স্ট্যান্ড" মানটি সহজেই এডাব্লুএস থেকে T2.micro EC2 উদাহরণ ব্যবহার করে ব্যাখ্যা করা যেতে পারে।

ইন ডেস্কটপ AWS ডকুমেন্টেশন আপনি পড়তে পারেন যে আপনি vCPU প্রতি শুধুমাত্র 10% বেসলাইন কর্মক্ষমতা পেতে। এর অর্থ হ'ল যদি আপনার এমন একটি প্রক্রিয়া থাকে যা প্রচুর সিপিইউ সময় গ্রহণ করে তবে "স্ট" মানটি 90 এর কাছাকাছি থাকবে কারণ আপনাকে কেবলমাত্র ভিসিপিইউর 10% ব্যবহার করার অনুমতি দেওয়া হয়েছে। অন্যান্য মানগুলির যোগফল 10 এর কাছাকাছি থাকবে।

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

আমি আশা করি এটি বুঝতে কিছুটা সহজ করে তোলে।

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