CPU समय और CPU समान कैसे होते हैं?


23

सीपीयू समय के लिए विकिपीडिया पृष्ठ में , यह कहता है

सीपीयू का समय घड़ी की टिक या सेकंड में मापा जाता है। अक्सर, CPU समय को CPU की क्षमता के प्रतिशत के रूप में मापना उपयोगी होता है, जिसे CPU उपयोग कहा जाता है।

मुझे समझ में नहीं आता है कि समय अवधि को प्रतिशत से कैसे बदला जा सकता है। जब मैं देखता हूं top, %CPUतो मुझे नहीं बताता कि MATLABमेरे कोर के 2.17 का उपयोग कर रहा है?

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
18118 jasl      20   0 9248400 261528  78676 S 217.2  0.1   8:14.75 MATLAB      

सवाल

CPU उपयोग क्या है, इसे बेहतर तरीके से समझने के लिए, मैं स्वयं CPU उपयोग की गणना कैसे करूं?


'1' दबाएं, जबकि आपके पास प्रति-कोर आधार पर अधिक ग्रैन्युलैरिटी इकट्ठा करने के लिए 'टॉप' खुला है।
पीटर

वह नंबर एक ( 1) है।
माइकल हैम्पटन

बता दें कि लिनक्स इस कमांड लाइन के अनुरोध के साथ प्रत्येक प्रोसेसर को कितना व्यस्त है। mpstat -P सभी 5 3 मल्टीप्रोसेसर स्थिति 5 सेकंड 3 अंतराल के लिए दर्ज करें। औसत CPU व्यस्त% प्राप्त करने के लिए आपके कोर द्वारा दर्ज किए गए% CPU को विभाजित करें। iostat -xm 5 3 एंटर आपको बताएगा कि आपके पास कितने कोर / सीपीयू उपलब्ध हैं।
विल्सन हक

जवाबों:


32

सीपीयू समय असतत समय स्लाइस (टिक) में आवंटित किया जाता है । समय की एक निश्चित संख्या में स्लाइस के लिए, सीपीयू व्यस्त है, अन्य समय यह नहीं है (जो निष्क्रिय प्रक्रिया द्वारा दर्शाया गया है)। सीपीयू के नीचे की तस्वीर 10 सीपीयू स्लाइस में से 6 के लिए व्यस्त है 6/10 = .60 = 60% व्यस्त समय (और इसलिए 40% निष्क्रिय समय होगा)।

यहाँ छवि विवरण दर्ज करें

एक प्रतिशत को "एक संख्या या दर के रूप में परिभाषित किया जाता है जिसे कुछ भागों के एक निश्चित संख्या के रूप में 100 भागों में विभाजित किया जाता है"। तो इस मामले में, उन भागों में समय के स्लाइस होते हैं और कुछ व्यस्त समय स्लाइस बनाम निष्क्रिय समय स्लाइस - व्यस्त समय स्लाइस के लिए व्यस्त है।

चूंकि सीपीयू गीगाहर्ट्ज (अरबों चक्रों सेकंड) में काम करते हैं। ऑपरेटिंग सिस्टम उस समय छोटी इकाइयों में स्लाइस करता है जिसे टिक्स कहा जाता है। वे वास्तव में 1/10 सेकंड के नहीं हैं। विंडोज़ में टिक दर एक सेकंड में 10 मिलियन टिक है और लिनक्स में यह sysconf(_SC_CLK_TCK)(आमतौर पर प्रति सेकंड 100 टिक) है।

कुछ इस तरह से top, व्यस्त सीपीयू चक्र तब उपयोगकर्ता समय और सिस्टम समय जैसी चीजों के प्रतिशत में टूट जाते हैं। में topलिनक्स पर और Windows में परफ़ॉर्मेंस, आप अक्सर एक प्रदर्शन है कि 100% से अधिक हो जाता है, यह है कि क्योंकि कुल 100% * the_number_of_cpu_cores है मिल जाएगा।

एक ऑपरेटिंग सिस्टम में, इन कीमती स्लाइस को प्रक्रियाओं को आवंटित करना शेड्यूलर का काम है, इसलिए शेड्यूलर यही रिपोर्ट करता है।


1
समय स्लाइस को एक सेकंड के अरबों में नहीं मापा जाता है। वे उतने कम नहीं हैं। वे कहीं-कहीं 0.1 एमएस और 10 एमएस के बीच होने की संभावना है। एपीआई में समय मानों का समाधान टाइमर की दर के समान नहीं है। लिनक्स में कुछ एपीआई कॉल नैनोसेकंड में कई बार निर्दिष्ट किए जाते हैं, लेकिन आप नहीं चाहेंगे कि टाइमर बार-बार बाधित हो। यदि आपके पास प्रति सेकंड एक लाख रुकावट थी, तो आप सभी सीपीयू समय को संदर्भ स्विच पर खर्च करेंगे।
kasperd

2
क्या आपका मतलब 1000 टिक है? मेरे सभी लिनक्स सिस्टम 1000 टिक (EL5 और EL6) या 1000 टिक + टिकलेस (EL7) हैं। या आप कुछ और मतलब है?
माइकल हैम्पटन

1
मैन पेज कहता है: "संबंधित चर अप्रचलित है।" मुझे नहीं लगता कि इस पर भरोसा किया जा सकता है। मैं में /boot/config-2.6.32-whatever यह इस महीने के है ... गिरी विन्यास की जाँच की
माइकल हैम्पटन

1
अहा, नहीं, वे समान नहीं हैं। CLK_TCK उपयोगकर्ताओं के लिए स्पष्ट रूप से बढ़ा हुआ मूल्य है, और जाहिर तौर पर 100 हमेशा की परवाह किए बिना कि वास्तव में कितने टिक्स का उपयोग करता है। अतः (पर कुछ अच्छी स्पष्टीकरण मिला 1 , 2 )
माइकल हैम्पटन

2
मुझे यह भी लगता है कि विंडोज "टिक्स" जो कि एपीआई कॉल को संदर्भित करता है, वह विंडोज टाइमर बाधा आवृत्ति के समान नहीं है, और इस तरह वास्तव में तुलनीय नहीं है।
माइकल हैम्पटन

15

सीपीयू समय वह समय है जब प्रक्रिया सीपीयू का उपयोग कर रही है - इसे प्रतिशत में बदलना वास्तविक समय की मात्रा से विभाजित करके किया जाता है।

इसलिए, अगर मेरे पास 2 सेकंड की अवधि में 1 सेकंड CPU समय का उपयोग करने की प्रक्रिया है, तो यह 50% CPU का उपयोग कर रहा है।

आपकी MATLAB प्रक्रिया के मामले में, 217% इंगित करता है कि पिछले नमूना अंतराल पर प्रति सेकंड 2.17 सेकंड सीपीयू समय का उपयोग किया जाता है - प्रभावी रूप से, 2 सीपीयू कोर का एकाधिकार और कुछ का तीसरा लेना।


5
या यह 8 CPU के 25% और एक नौवें भाग का उपयोग कर सकता है।
बॉब जार्विस -
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.