आप जरूरी नहीं कि कोर को बंद या निष्क्रिय करें ।
आप cpusets और कार्यस्थल का उपयोग करेंगे
http://man7.org/linux/man-pages/man7/cpuset.7.html
एक सीपीयू सीपीयू और मेमोरी नोड की एक सूची को परिभाषित करता है ...
Cpuset filesystem कर्नेल cpuset तंत्र के लिए एक छद्म-फाइलसिस्टम इंटरफ़ेस है, जिसका उपयोग प्रोसेसर प्लेसमेंट और प्रक्रियाओं के मेमोरी प्लेसमेंट को नियंत्रित करने के लिए किया जाता है। यह आमतौर पर / dev / cpuset पर लगाया जाता है।
Cpusets के समर्थन में निर्मित गुठली के साथ संकलित सिस्टम पर, सभी प्रक्रियाएं cpuset से जुड़ी होती हैं, और cpusets हमेशा मौजूद होती हैं। यदि कोई सिस्टम cpusets का समर्थन करता है, तो उसके पास फ़ाइल / proc / filesystems में प्रविष्टि nvv cpuset होगा। Cpuset filesystem (नीचे दिए गए उदाहरण अनुभाग देखें) को माउंट करके, व्यवस्थापक उस सिस्टम पर प्रक्रियाओं के प्रोसेसर और मेमोरी प्लेसमेंट को नियंत्रित करने के लिए एक सिस्टम पर cpusets को कॉन्फ़िगर कर सकता है। डिफ़ॉल्ट रूप से, यदि सिस्टम पर cpuset कॉन्फ़िगरेशन को संशोधित नहीं किया गया है या यदि cpuset filesystem भी माउंट नहीं है, तो cpuset तंत्र, हालांकि मौजूद है, सिस्टम के व्यवहार पर कोई प्रभाव नहीं पड़ता है।
एक प्रणाली के CPU में सभी तार्किक प्रसंस्करण इकाइयाँ शामिल होती हैं, जिस पर एक प्रक्रिया निष्पादित हो सकती है, जिसमें यदि मौजूद हो, तो एक प्रोसेसर के भीतर कई प्रोसेसर कोर और प्रोसेसर कोर के भीतर हाइपर-थ्रेड्स। मेमोरी नोड्स में मुख्य मेमोरी के सभी अलग-अलग बैंक शामिल हैं; छोटे और एसएमपी सिस्टम में आम तौर पर सिर्फ एक मेमोरी नोड होता है जिसमें सभी सिस्टम की मुख्य मेमोरी होती है, जबकि NUMA (गैर-समान मेमोरी एक्सेस) सिस्टम में कई मेमोरी नोड होते हैं।
संक्षेप में, यदि आपके पास 1 सीपीयू है जिसमें 6 कोर हैं, तो आप cpusets को कॉन्फ़िगर करेंगे और एक cpuset में अपनी प्रक्रिया लॉन्च करेंगे, जो कि केवल एक कोर पर कॉन्फ़िगर किया गया है, उदाहरण के लिए core # 3 कहें। यदि यह एक समानांतर प्रक्रिया थी, तो यह सब उस एक कोर तक ही सीमित रहेगा, अगर आपने किसी दिए गए cpuset में 4 प्रक्रियाएँ शुरू की हैं, जिसमें केवल एक कोर परिभाषित है, तो प्रत्येक 4 प्रक्रियाओं में कोर # 3 पर 25% cpu का उपयोग होगा।
उसका निर्माण, जो आम तौर पर होता है एक cpuset ऐसा कॉन्फ़िगर किया गया है
- उदाहरण के लिए, 200+ कोर सिस्टम में, cpusetA cores 0..60 है, जहाँ भी वे स्थित हो सकते हैं, cpusetB को cores 61..70; cpusetC को cores 71..80; और इसलिए हालांकि एक व्यवस्थापक / वास्तुकार को कॉन्फ़िगर करने का विकल्प चुनता है।
- cpusetA कुछ उपयोगकर्ताओं और / या विशिष्ट सॉफ़्टवेयर प्रोग्रामों को आवंटित किया जाता है; cpusetB को विभिन्न उपयोगकर्ताओं / कार्यक्रमों को आवंटित किया जाता है; और इसी तरह।
- एक उपयोगकर्ता एक नौकरी (प्रक्रिया) शुरू करता है जो एन कोर का अनुरोध करेगा ... एक दिए गए cpuset के भीतर, और अब उन एकाधिक (समानांतर) प्रक्रियाओं को दिए गए cpuset तक ही सीमित है। और उन एन समानांतर के लिए एक दिए गए cpuset तक ही सीमित है, उन प्रक्रियाओं में से प्रत्येक प्रोसेसर / आत्मीयता या cpu आत्मीयता का उपयोग करना चाहिए ताकि उन समानांतर प्रक्रियाओं cpuset के भीतर विभिन्न कोर पर नहीं फेंकते हैं।
यह भी: https://linux.die.net/man/1/taskset
maxcpus=1
कमैंड कहाँ रखा है ? क्या आपने उस स्ट्रिंग कोgrub.cfg
बूट विकल्प के रूप में रखा था ? (कृपया टिप्पणियों में जवाब देने के बजाय अपने प्रश्न को अपडेट करें)।