क्या सीपीयू को निष्क्रिय करना संभव है, कोर नहीं? मैं यह सत्यापित करने के लिए एक परीक्षण करना चाहता हूं कि क्या प्रदर्शन एक बड़ा अंतर बना सकता है या नहीं।
मैं Ubuntu 10.10 का उपयोग कर रहा हूं।
क्या सीपीयू को निष्क्रिय करना संभव है, कोर नहीं? मैं यह सत्यापित करने के लिए एक परीक्षण करना चाहता हूं कि क्या प्रदर्शन एक बड़ा अंतर बना सकता है या नहीं।
मैं Ubuntu 10.10 का उपयोग कर रहा हूं।
जवाबों:
आपके BIOS ग्रब में ऐसा करने के अलावा एक विकल्प भी है maxcpus
।
maxcpus=1
मापदंडों में जोड़कर अपने ग्रब बूट विकल्प का चयन करते समय आप इस विकल्प को संपादित कर सकते हैं । रैंडम ग्रब तस्वीर:
'ई' चुनें और आप एक कमांड लाइन पर जाएं जहां आप विकल्प जोड़ सकते हैं।
आप अपने वर्तमान बूट विकल्प की एक प्रति बनाकर और maxcpus=1
बूट मापदंडों में जोड़कर ग्रब में स्थायी बूट विकल्प भी बना सकते हैं । आप इस 'उबंटू, कर्नेल 2.5.12-9-386 (1 सीपीयू)' को नाम दे सकते हैं और इसे अन्य बूट विकल्पों की तरह दिखा सकते हैं जैसे चित्र दिखाते हैं।
आप 1 सीपीयू जारी करके सत्यापित कर सकते हैं:
cat /proc/cpuinfo | grep processor
इसे कुछ इस तरह दिखाना चाहिए:
प्रोसेसर: 0 प्रोसेसर: १
और 1 सीपीयू के साथ बूट होने के बाद दूसरी पंक्ति गायब हो जानी चाहिए।
आप CPU के माध्यम से गतिशील रूप से अक्षम कर सकते हैं /sys/devices/system/cpu/cpuN/online
, उदाहरण के लिए CPU 1 को अक्षम करें, उपयोग करें:
echo 0 | sudo tee /sys/devices/system/cpu/cpu1/online
और फिर से सक्षम करने के लिए, उपयोग करें:
echo 1 | sudo tee /sys/devices/system/cpu/cpu1/online
आप सीपीयू को उसके सॉकेट से हमेशा अनप्लग कर सकते हैं। यह क्रूर बल है, लेकिन आप जिस परीक्षण को चाहते हैं उसे प्राप्त करने की गारंटी देते हैं, और यदि कर्नेल / BIOS / जो कुछ स्विच वास्तव में वह कर रहा है जो आप उम्मीद कर रहे हैं तो आपको चिंता करने की ज़रूरत नहीं है।
मेरी कंपनी के पास दुनिया भर के विभिन्न स्थानों में सर्वर फार्मों की बड़ी स्थापना है। हमारी प्रयोगशाला में हम कभी-कभी केवल इस तरह के परीक्षण के लिए सॉकेट्स से सीपीयू निकाल देंगे।
इस परीक्षण पर एक दिलचस्प बदलाव है जो आप मल्टी-सीपीयू एनयूएमए सिस्टम के साथ कर सकते हैं । उन प्रकार के मदरबोर्ड पर आप उन सभी मेमोरी डीआईएमएम को हटा सकते हैं जो एक भौतिक सीपीयू द्वारा नियंत्रित होते हैं। सिस्टम अभी भी ठीक बूट होगा, और फिर आप अपने आवेदन के साथ विभिन्न कोर पर पिन किए गए परीक्षण चला सकते हैं जो आपको "स्थानीय" या "रिमोट" मेमोरी के प्रभावों को मापने की अनुमति देगा।
कोर की संख्या के साथ एक मल्टीथ्रेड एप्लिकेशन के प्रदर्शन को देखना चाहेंगे? यदि ऐसा है, तो आप कार्य-उपयोगिता का उपयोग कर सकते हैं। मुझे लगता है कि आपके पास एक NUMA मशीन है। आप numactl उपयोगिता को स्थापित कर सकते हैं और इसका उपयोग करके आप यह पता लगा सकते हैं कि कौन सा CPU किस अनुरूप है। उदाहरण के लिए, आपकी मशीन में दो क्वाड-कोर CPUS (चिप्स) हैं। कार्यपत्रक उपयोगिता का उपयोग करके आप एक सीपीयू के सेट के रूप में कोर बना सकते हैं और इन्हें अपने आवेदन में आवंटित कर सकते हैं। तब आपका एप्लिकेशन केवल एक सीपीयू / चिप (चार कोर) का उपयोग करता है। यदि आपको अधिक जानकारी की जरूरत है तो कृपया मुझे बता है।