क्या सीपीयू को लिनक्स के तहत एन्यूमरेट करने के तरीके को प्रभावित करना संभव है?


32

मेरे पास इसमें 2 बेमेल सीपीयू के साथ एक HP DL380 G7 है। एक तेज कोर के साथ एक क्वाड कोर सीपीयू है, और एक धीमी कोर के साथ एक 6 कोर सीपीयू है।

इस बॉक्स पर मैं एक एप्लिकेशन चलाता हूं कि लाइसेंस के कारण केवल CPU0-CPU3 का उपयोग करेगा।

मेरे लिए यह क्वाड कोर सीपीयू पर तेजी से कोर के लिए वांछनीय होगा, ऑपरेटिंग सिस्टम में सीपीयू0-सीपीयू 3 की गणना करने के लिए, मुझे एक के लिए एक प्रदर्शन बोनस दे रहा है) तेजी से घिरे कोर का उपयोग करके, और बी) एक ही भौतिक सीपीयू पर सभी थ्रेड्स रखते हुए। ।

क्या ऐसा करने का कोई तरीका है, या तो BIOS के भीतर, या कॉन्फ़िगरेशन फ़ाइल या लिनक्स में बूट विकल्प?

विशिष्ट CPU मॉडल हैं:

इंटेल (R) Xeon (R) CPU E5649 @ 2.53GHz (हेक्स कोर)

Intel (R) Xeon (R) CPU E5640 @ 2.67GHz (क्वाड कोर)


कृपया विशिष्ट CPU मॉडल पोस्ट करें cat /proc/cpuinfo
ewwhite 11

24
Upvoting क्योंकि मुझे यह भी पता नहीं था कि असमान सीपीयू संभव थे, हमेशा कुछ नया सीखने के लिए ...
काइल ब्रांट

2
@kyle यह संभव है, लेकिन HP द्वारा समर्थित या समर्थित नहीं है।
ewwhite

1
@kasperd एचपी-लैंड में, यदि आप अलग-अलग स्टेपिंग के दो सीपीयू लोड करते हैं, तो आपको CPU mismatch detectedPOST में एक त्रुटि मिलती है । सीपीयू पीढ़ी के भीतर ऐसा हो सकता है; एक इंटेल 5606 और एक ही चेसिस में 5690 जैसे।
ewwhite 13

3
अगर किसी को इसमें रुचि है कि हम वास्तव में यहां क्या करते हैं, तो हमने डेटासेंटर के लिए एक सड़क यात्रा की और शारीरिक रूप से क्वाड कोर सीपीयू को सर्वर से हटा दिया
पॉलोस

जवाबों:


27

Wut?!?

यह पागल है , तुम्हें पता है? यह असमर्थित है और संभवतः आपके हार्डवेयर के लिए अच्छा नहीं है। आपको अपने सर्वर में समान रूप से-विशिष्ट प्रोसेसर का उपयोग करना चाहिए।

मुझे लगता है कि आप जोड़े को बस एक cgroup या शील्ड (या के माध्यम से taskset) में आपके आवेदन को निष्पादित करते हैं जिसमें केवल CPU कोर शामिल हैं जो आप उपयोग करना चाहते हैं। आप उस CPU के साथ मेमोरी एक्सेस को पिन भी कर सकते हैं numactl। लेकिन वास्तव में, आप या तो धीमी सीपीयू को पूरी तरह से नहीं हटाएंगे या सिस्टम को कल्पना में लाने के लिए क्या भुगतान करेंगे।

हो सकता है कि स्पष्ट बात, यदि आपका आवेदन CPU0-CPU3 का उपयोग करने के लिए हार्डकोड है, तो भौतिक रूप से सॉकेट स्वैप करना है ... लेकिन वास्तव में, बस यहां एक सीपीयू के साथ चलाएं।

यदि आप ProLiant DL380 G7 हार्डवेयर की बात कर रहे हैं, तो आपके "तेज" सीपीयू की संभावना एक नेहेल 5500-सीरीज़ की खरीद है, जिसमें धीमी हेक्स-कोर सीपीयू एक वेस्टमेयर है। क्या आपने बिल्कुल भी बेंचमार्क किया है? कौन से विशिष्ट CPU स्थापित हैं?

संपादित करें:

ठीक है, इसलिए ये कम से कम एक ही पीढ़ी के सीपीयू / स्टेपिंग हैं। लेकिन यह अभी भी एक बुरा विचार है ... सीपीयू कल्पना में अंतर इतना भी नहीं है (बनाम 3.47GHz में इंटेल X5690 जैसी चीज)।


4
सभी की प्रतिक्रिया समान है! मुझे पता है कि आदर्श रूप से सीपीयू एक ही होगा, लेकिन यह वही है जो एचपी ने हमें दिन में वापस दिया था। यह वह हाथ है जिसे मैंने निपटाया है, इसलिए मुझे इसका सबसे अच्छा बनाना है जब तक कि अगला हार्डवेयर रिफ्रेश न हो जाए। CPU के Xeon E5649 @ 2.53GHz (हेक्स कोर) और E5640 @ 2.67GHz (क्वाड कोर) हैं। 6 कोर सीपीयू को पूरी तरह से हटाना वास्तव में मेज पर मौजूद विकल्पों में से एक है। यह पूरी तरह से BIOS में सॉकेट को अक्षम करने में सक्षम होना चाहिए, लेकिन यह संभव नहीं लगता है।
पौलोस

@paulos यह क्या अनुप्रयोग है?
ewwhite

यह वास्तव में एक चेकपॉइंट फ़ायरवॉल के रूप में काम कर रहा है
paulos

3
@paulos फिर 2.67GHz बनाम 2.53GHz बात क्यों करता है? बस सर्वर में 6-कोर सीपीयू डालें और 4-कोर निकालें।
ewwhite

पुन: CPU कल्पना, हाँ मुझे लगता है कि यह केवल 5% के बारे में है या ऐसा कुछ है। मुझे उम्मीद है कि प्रदर्शन लाभ सभी श्रमिक धागे और विशेष रूप से एक ही भौतिक सीपीयू पर होने वाले नेटवर्क कार्ड से irq के तूफान होने के लिए जिम्मेदार ठहराया जाएगा। संपादित करें: हाँ केवल 6 कोर सीपीयू का उपयोग करना भी एक संभावना है।
पौलोस
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.