निर्धारित करें कि सीपीयू किस प्रक्रिया पर चल रहा है


19

Sysinternals 'प्रोसेस एक्सप्लोरर का उपयोग करते हुए, क्या एक कॉलम है जिसका उपयोग यह इंगित करने के लिए किया जा सकता है कि कौन सी सीपीयू प्रक्रिया चल रही है? यदि कोई कॉलम नहीं है, तो क्या कोई और तरीका है?



3
@DavidPostill - प्रोसेस एक्सप्लोरर के वेब पेज के लिए सबसे अच्छा उत्तर सिर्फ अंक देता है। मेरा प्रश्न है: दिया प्रक्रिया एक्सप्लोरर, कैसे करने के लिए मैं जो निर्धारित कोर एक प्रक्रिया को शुरू कर रहा है?
rory.ap

जवाबों:


47

2005 में अनुरोध :

मैं प्रोसेस एक्सप्लोरर में एकीकृत सुविधाओं से बहुत प्रभावित हूं, लेकिन मुख्य विंडो में प्रत्येक प्रक्रिया सीपीयू आत्मीयता को कॉलम टॉगल के रूप में प्रदर्शित करने के लिए एक विकल्प देखना चाहता हूं।

कोई जवाब नहीं।

2007 में अनुरोध :

शानदार उपयोगिताओं के लिए धन्यवाद। मेरा अनुरोध सीपीयू आत्मीयता प्रदर्शित करने के लिए एक्सप्लोरर को संसाधित करने के लिए एक कॉलम विकल्प जोड़ने का है। बस।

कोई जवाब नहीं।

2013 में इसी तरह की चर्चा :

यह वास्तव में अच्छा होगा यदि कोर प्रोसेस नाम का एक नया प्रोसेस परफॉरमेंस व्यू कॉलम होगा जो कोर पर उपयोग के एक योग को दिखाएगा कि प्रक्रिया चल रही है।

मूल सारांश: यह नहीं किया जा सकता है।

थ्रेड्स हैं जो प्रसंस्करण के लिए कोर में भेजे जाते हैं, प्रक्रियाएं नहीं। अधिकांश आधुनिक प्रक्रियाओं में कई सूत्र होते हैं।

यदि आप मैन्युअल रूप से एक प्रक्रिया के लिए आत्मीयता सेट करते हैं, तो प्रक्रिया के सभी थ्रेड्स एक प्रोसेसर से चिपके रहना चाहिए। चूंकि आप इसे मैन्युअल रूप से सेट करते हैं, इसलिए आपको पता होना चाहिए कि यह किस सीपीयू पर है। ;)

लेकिन यदि आप निर्दिष्ट नहीं करते हैं, तो थ्रेड (ओं) को ओएस और अंतर्निहित प्रसंस्करण हार्डवेयर द्वारा नियंत्रित किया जाएगा, और प्रोसेसर के बीच एक गति से कूद जाएगा जो कि अस्वाभाविक होगा, और जब तक इसे प्रदर्शित किया जाएगा, तब तक इसकी संभावना बहुत गलत होगी। आप।

शायद अधिक के लिए इन एसयू प्रश्न की जाँच करें:

इसके अलावा, StackOverflow से:

अब यदि आपने प्रोग्राम लिखा है, तो आप GetCurrentProcessorNumber का उपयोग कर सकते हैं , जो उस फ़ंक्शन द्वारा उपयोग किए जाने वाले वर्तमान प्रोसेसर को रिपोर्ट करता है, जहां से फ़ंक्शन को कॉल किया गया था।

इसका उपयोग करने से आप अपने थ्रेड्स द्वारा प्रोसेसर के उपयोग के बारे में अनुमान लगा सकते हैं, क्योंकि आप कभी भी सुनिश्चित नहीं हो सकते हैं कि थ्रेड्स अगले (फिर से, जब तक आप उद्देश्य पर आत्मीयता निर्धारित नहीं करते हैं) एक चक्र होगा।

और जानकारी:


3
अच्छा जवाब ... :)
DavidPostill

@ डेविडप्रोस्टिल - सहमत।
rory.ap

महान उत्तर, जैसा कि यह विशिष्ट प्रश्न का उत्तर देता है, इतिहास और कथ्य में मिलता है, और अवधारणाओं को समझने में मदद करता है।
Smithers

1
लिनक्स और विंडोज दोनों पर, प्रति-आधार के आधार पर आत्मीयता को स्थापित करना संभव है। हालांकि, यह शायद ही कभी उपयोगी होता है, इसलिए शायद ही कभी किया जाता है, इसलिए यदि यह निर्धारित किया जाता है कि सामान्य निगरानी कार्यक्रम में प्रति-थ्रेड संबंध को प्रदर्शित किया जाता है, तो यह अधिक-या-कम बेकार है - विशाल बहुमत बस कर्नेल शेड्यूल को जारी रखने देगा।
बॉब

ओएस आपके धागे को गेटकॉर्प्टरप्रोसेसर के ठीक बाद दूसरे प्रोसेसर पर भी स्विच कर सकता है (लेकिन इससे पहले कि यह शुरू हो जाए) और फिर से लौटने के तुरंत बाद, इसलिए परिणाम न तो कॉल के समय प्रोसेसर होगा, न ही प्रोसेसर समय पर कॉल रिटर्न!
gnasher729

8

यह एक xperf ट्रेस कैप्चर करके और विंडोज परफॉर्मेंस टूलकिट से विंडोज परफॉरमेंस एनालाइजर (WPA.exe) के साथ ओपन करके किया जा सकता है , यहां आप एक सीपीयू CPU जोड़कर देख सकते हैं कि कौन सी CPU (कोर) प्रक्रिया चल रही है:

यहां छवि विवरण दर्ज करें


अच्छा लगा। क्या यह प्रत्येक सीपीयू के तहत एक ही प्रक्रिया को सूचीबद्ध करता है (यदि यह एक से अधिक का उपयोग कर रहा है)? चूंकि यह एक कैप्चर किए गए xperf ट्रेस का उपयोग कर रहा है, क्या इसका मतलब यह है कि यह लाइव रिपोर्टिंग नहीं है?
15c atιᴇ007

@ @C beιᴇ007 ETW ईवेंट का उपयोग रनटाइम पर भी किया जा सकता है। उन्हें ETL फ़ाइल में लिखना सिर्फ एक तरीका है। हां, यह सीपीयू के तहत प्रक्रियाओं को सूचीबद्ध करता है जब यह दोनों का उपयोग करता है।
Magicandre1981
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.