मैं स्थायी रूप से एक प्रक्रिया की आत्मीयता कैसे निर्धारित करूं?


17

मेरे पास एक गेम है जिसमें सीपीयू के उपयोग के मुद्दे हैं, इसलिए फिक्स में से एक क्वाड कोर सीपीयू से एक कोर को अक्षम करना है। हर बार जब मैं गेम लॉन्च करता हूं, तो मुझे मैन्युअल रूप से टास्क मैनेजर में जाना पड़ता है और मैन्युअल रूप से आत्मीयता का इनपुट करना पड़ता है, जो कि बेकार हो जाता है क्योंकि गेम नए जारी होने के बाद भी लगातार क्रैश होने का खतरा है।

वहाँ एक गैर सॉफ्टवेयर समाधान है?

मैंने ऑनलाइन कुछ समाधानों को देखा है और वे केवल विंडोज 7 की ओर तैयार किए जा रहे हैं। क्या मेरे जैसे विंडोज 8.1 उपयोगकर्ताओं के लिए एक समाधान है?


कृपया समझाएं कि "मैन्युअल रूप से इनपुट आत्मीयता" से आपका क्या अभिप्राय है?
पचेरियर

@ स्पेसर मुझे मैन्युअल रूप से आत्मीयता को बदलना होगा, क्योंकि डिफ़ॉल्ट रूप से यह सभी सीपीयू को काम करने के लिए चुनता है।
युरित्सुकी

आप "संगतता मोड" को विंडोज़ के पुराने पर्याप्त संस्करण में सेट करने का प्रयास कर सकते हैं, जो एकल कोर को आत्मीयता देता है। लेकिन अगर यह अभी भी काम करता है, तो यह जांचने के लिए मेरे पास win8 नहीं है।
कोडइन्चोस

@cyberwebpoweruser, क्या आपके लिए काम के नीचे जवाब था?
पचेरियर

जवाबों:


24

आप आत्मीयता असाइन करने के लिए एक शॉर्टकट बना सकते हैं।

X:\Windows\System32\cmd.exe /C start /affinity Y game.exe

Y हेक्साडेसिमल है और थोड़ा सा मुखौटा है:

0x1 - 0001 - Core0
0x2 - 0010 - Core1
0x3 - 0011 - Core1 & Core0
0x4 - 0100 - Core2
0x5 - 0101 - Core2 & Core0
0x6 - 0110 - Core2 & Core1
0x7 - 0111 - Core2 & Core1 & Core0
0x8 - 1000 - Core3
0x9 - 1001 - Core3 & Core0
0xA - 1010 - Core3 & Core1
0xB - 1011 - Core3 & Core1 & Core0
0xC - 1100 - Core3 & Core2
0xD - 1101 - Core3 & Core2 & Core0
0xE - 1110 - Core3 & Core2 & Core1
0xF - 1111 - Core3 & Core2 & Core1 & Core0

1
मुझे लगता है कि आपके पास पहले 3 गड़बड़ है
रिची फ़्रेम

ओह, धिक्कार है .. हाँ :) सही किया गया है
The_aLiEn

4
@ The_aLiEn प्रश्न: यदि यह प्रक्रिया एक और प्रक्रिया शुरू करती है, तो क्या वह दूसरी प्रक्रिया पहली प्रक्रिया की आत्मीयता को प्राप्त करती है? मुझे गेम के साथ भी यही समस्या है, लेकिन मुझे लॉन्चर और 3rd पार्टी डाउनलोड मैनेजर दोनों पर आत्मीयता को बदलना होगा, जिसे लॉन्च करने के लिए लॉन्चर द्वारा शुरू किया जाना चाहिए।
नजल्ल

2
क्या आपको cmd.exe /Cभाग की आवश्यकता है , या इसे शुरू करने के लिए पर्याप्त होगा start?
डेल्टैब

2
@ NateKerkhofs को यह वारिस होना चाहिए। न केवल आत्मीयता, सभी सुरक्षा
विवरणकों की

7

यदि "गैर सॉफ्टवेयर" से आपका मतलब अतिरिक्त सॉफ्टवेयर की आवश्यकता नहीं है, तो है। आप प्रोग्राम को कमांड स्क्रिप्ट से चला सकते हैं और एफिनिटी स्विच का उपयोग कर सकते हैं"Start /AFFINITY 20 process.exe"

/AFFINITY 2020एक बाइनरी समतुल्य के रूप में एक हेक्सिडेसिमल नंबर के रूप में व्यवहार करता है 100000, जो 6 कोर प्रोसेसर पर 0-5 में से 5 कोर को आत्मीयता देता है। एक समान हेक्स मास्क आपको एक विशिष्ट कोर को निष्क्रिय करने देगा, जैसे कि E, केवल 0-3 या 0-5 में से कोर पर प्रक्रिया चलाता है।


"गैर-सॉफ्टवेयर" का अर्थ है cmd
पचेरियर

5

किसी अन्य के लिए इसका उत्तर ढूंढने और कोई खोज नहीं करने के लिए, मुझे जो समाधान मिला है, वह विनएएफसी (या एफिनिटीचेंजर ) नामक ऐप का उपयोग करना था । यह एक आंशिक GUI, आंशिक कमांड लाइन ऐप है जो आपको कुछ निश्चित निष्पादन के लिए प्रोफाइल निर्दिष्ट करने की अनुमति देता है, और उनके लिए प्रक्रिया सूची का चुनाव करेगा। यदि यह मिलान प्रक्रिया पाता है, तो यह लोड की गई प्रोफ़ाइल में सेटिंग्स के अनुसार उन प्रक्रियाओं की आत्मीयता को बदल देगा।

यहाँ कुछ प्रलेखन है: http://affinitychanger.sourceforge.net/

अपने उद्देश्यों के लिए, मैंने एक प्रोफ़ाइल बनाई जो इस तरह दिखती थी:

TestMode = 0
TimeInterval = 1
*\convert.exe := PAIR0+PAIR1

यह प्रोफाइल हर सेकंड में पहले दो सीपीयू कोर जोड़े (CPU0, CPU1, CPU2 और CPU3) का उपयोग करने के लिए कोई भी Convert.exe प्रक्रिया सेट करता है। TestModeएक टॉगल है जो आपको यह देखने की अनुमति देता है कि क्या आपकी प्रोफ़ाइल वास्तव में संपन्नता स्थापित किए बिना काम कर रही है।

आशा है कि कोई इसे उपयोगी पाता है!

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.