मेरी राय में उपरोक्त उत्तर में से कोई भी संतोषजनक नहीं है।
मुझे लगता है कि मैं निम्नलिखित लिंक पर जिस लेख का उल्लेख कर रहा हूं, वह इस प्रश्न का उत्तर देने के लिए लक्षित है:
http://perfdynamics.blogspot.ch/2014/01/monitoring-cpu-utilization-under-hyper.html
उद्धरण:
HT के पीछे का विचार एक अलग एप्लिकेशन थ्रेड को चलाने की अनुमति देना है जब वर्तमान में चल रहे ऐप स्टॉल; शाखा की गड़बड़ी के कारण, पाइप लाइन में बुलबुले, आदि। यह संभव बनाने के लिए, एक और बंदरगाह या एएस रजिस्टर होना चाहिए। जब HT सक्षम किया जाता है तो वह रजिस्टर OS को दिखाई देता है। हालाँकि, ओएस (और जो भी पूर्ण उपकरण आप उपयोग कर रहे हैं, उसके लिए खाद्य श्रृंखला) अब सोचता है कि दो बार प्रोसेसर क्षमता उपलब्ध है, यानी प्रत्येक एएस पोर्ट पर 100% सीपीयू।
लेकिन हुड के तहत, अभी भी केवल एक निष्पादन इकाई है: एचटी सक्षम होने से पहले आपने जिस एकल, भौतिक, कोर को शुरू किया था। अंतर यह है कि इसे 2 एएस पोर्ट के बीच किसी तरह साझा किया जा रहा है। दोनों बंदरगाहों के बीच एकल कोर कैसे बदल जाता है, यह बहुत जटिल है, लेकिन मतदान की कतारों के संदर्भ में सबसे आसानी से समझा जाता है। मैं अपने GCaP वर्गों में विस्तार के उस स्तर पर जाता हूं।
मेरे पास सबसे अच्छा मामला परीक्षण माप है, यह दर्शाता है कि प्रत्येक HT पोर्ट 75% से अधिक व्यस्त नहीं हो सकता है, या ओएस के अनुसार कुल अपेक्षित 200% क्षमता का 150%। "लापता" 50% क्षमता, जिसे मैंने पहले उल्लेख किया था, एक भ्रम है। इंटेल ने दावा किया है कि सामान्य अनुप्रयोगों के लिए 120% से 130% की सीमा में कुछ की उम्मीद की जा सकती है।
वास्तव में, मुझे पूरा यकीन है कि ऑपरेटिंग सिस्टम प्रत्येक वर्चुअल कोर पर 100% तक पहुंच सकता है, इसके बारे में कोई संदेह नहीं है। मैंने अभी किया है:
mvn clean install -DskipTests -T 5
और मैं आपको मेरे 8 आभासी कोर और 4 भौतिक कोर 100% CPU उपयोगों के लिए आश्वस्त कर सकता हूं। और मैं निश्चित रूप से मेरी मशीन पर 8 कोर नहीं है।
लंबी कहानी संक्षेप में, आप निम्न मान सकते हैं यदि कुल सीपीयू लोड 100% से अधिक है, तो आप अधिकतम 100% भौतिक कोर का उपयोग करते हुए, सबसे अधिक संभावना है। वह मेनस, यदि आपके पास ऑपरेटिंग सिस्टम CPU 1 और CPU 2 में भौतिक CORE 1 विभाजित है और CPU 1 पर आपके पास कुल उपयोग 50% है और CPU 2 पर आपके पास 50% का कुल उपयोग है, तो वास्तविक जीवन में आप सबसे अधिक संभावना रखते हैं। उस सीपीयू पर कुल 100% के उपयोग का दबाव डालना। आपने इसे अधिकतम कर दिया है।
लेकिन निश्चित रूप से इसके सिस्टम मॉनिटरिंग टूल में ऑपरेटिंग सिस्टम का कोई विचार नहीं है कि यह आपको एक भ्रम बेच रहा है। ऑपरेटिंग सिस्टम के पूर्व निर्धारित से और यह संसाधनों का प्रबंधन कैसे करता है, यह सिर्फ उन दो आभासी कोर के आड़ू पर विश्वास करेगा जो अभी भी 50 प्रतिशत बेकार है, इसलिए यदि इसे चलाने के लिए और अधिक कार्य किए जाने हैं, तो यह उन दो हिस्सों पर समान रूप से वितरित करने का प्रयास करेगा। । इसलिए जब आप CPU उपयोग की अवधि के दौरान 100% से अधिक CPU उपयोग करते हैं, तो उस समय की अवधि में चलने के लिए हमेशा कतारबद्ध कार्य होता है जिसमें CPU पर समय स् वलिस पाने के लिए कभी भी परिवर्तन नहीं होता था। आखिरकार यह मिल जाएगा, लेकिन हमेशा कुछ धागे होते हैं जो वास्तव में चलने के बावजूद निर्धारित नहीं होते हैं।
धन्यवाद