यह इतना आसान नहीं है। एक थ्रेड या प्रक्रिया के साथ जितना संभव हो उतना सीपीयू जलता है , यह दोहरी सीपीयू प्रणाली पर 50% सीपीयू से अधिकतम होगा। या, कुछ सिस्टम इसे 100% सीपीयू के रूप में दिखाएंगे, क्योंकि अधिकतम 200% सीपीयू है।
यदि आपके पास दो धागे एक कोर के 50% सीपीयू पर चल रहे हैं (तो वे इसे अधिकतम नहीं करते हैं), हो सकता है कि वे लगभग एक ही कोर पर उपवास करेंगे, लेकिन फिर आपको 100% दिखाई देंगे। (यह इस बात पर ध्यान नहीं दे रहा है कि मशीन में अन्य चीजें हैं, और यह संदर्भ स्विच करने का कारण बनता है।)
उदाहरण के लिए, यदि आपके पास दो धागे हैं जो समय का 50% सोते हैं और सामान की गणना 50% उसी के साथ करते हैं, तो एक सीपीयू उन दो धागों की नींद और गणना को वैकल्पिक कर सकता है ताकि 100% सीपीयू का उपयोग किया जा सके।
संपादित करें:
मैंने सोचा था कि मैं कुछ उदाहरण रेखांकन दिखाऊंगा जो इसे चित्रित करते हैं।
यह सर्वर 16 उच्च-सीपीयू प्रक्रियाओं को चलाता है, और कुछ सौ कम-सीपीयू को। मार्च में, मैंने इसे 8 सीपीयू / कोर (इसलिए 800% तक की छलांग) में अपग्रेड करने का फैसला किया, मुख्यतः क्योंकि मुझे कुछ समय के लिए इस पर अतिरिक्त सॉफ्टवेयर चलाना था, जिसे आप देख सकते हैं।
मई से जुलाई तक एक बड़े हिस्से के लिए, 4 कोर पर्याप्त हो सकते थे। हालाँकि, मुझे पता है कि मेरी कुछ प्रक्रियाएँ (बैच प्रोसेसिंग करने में) देरी हुई होगी।
यह लोडिंग ग्राफ है:
यह सहसंबद्ध है, लेकिन जैसा कि आप देख सकते हैं कि यह केवल प्रतिशत / 100 नहीं है।
आप चाहते हैं कि ऐसे रेखांकन सूचित निर्णय लेने में सक्षम हों।
अपने ग्राफ़ के बारे में 2 संपादित करें:
दिलचस्प। ये ग्राफ किसके साथ बनाए गए थे? वे दोनों डेटा का मेरे द्वारा उपयोग किए जाने वाले विपरीत तरीके का प्रतिनिधित्व करते हैं: ऐसा लगता है कि सीपीयू का उपयोग सिस्टम के सभी कोर के लिए 100% जाता है, बजाय 100% प्रति कोर की तरह, मेरे ग्राफ़ की तरह। आप इसे dd if=/dev/urandom of=/dev/null
कुछ घंटों तक चलाकर देख सकते हैं ; यह एक कोर को अधिकतम करने का कारण होगा, और आप प्रभाव देखेंगे।
लोड ग्राफ प्रति कोर लोड दिखाता है । मैंने ऐसा पहले कभी नहीं देखा। uptime
, : htop
, munin
वे सभी केवल लोड दिखाते हैं ।