2009-03-12 9 views
5

मुझे पेर्फॉन में पता है कि आप देख सकते हैं कि प्रत्येक कोर का कितना उपयोग किया जाता है, और कुल CPU कितनी सीपीयू का उपयोग कर रहा है। हालांकि मुझे यह देखने का कोई तरीका नहीं दिख रहा है कि कोर द्वारा एक प्रक्रिया कितनी सीपीयू टूट रही है।क्या यह देखने का कोई तरीका है कि प्रति कोर कितनी सीपीयू उपयोग प्रक्रिया का उपयोग कर रहा है?

क्या इस जानकारी को देखने का कोई अंतर्निहित तरीका है? क्या यह देखने के लिए एक प्रोग्रामेटिक तरीका है? (सी # पसंदीदा) क्या मैं इस प्रश्न पूछकर विंडोज़ (विस्टा) कोर उपयोग और संदर्भ स्विचिंग को कैसे नियंत्रित करता है, इस बारे में गलतफहमी का प्रदर्शन कर रहा हूं?

संपादित करें: मैं जो खोजना चाहता हूं उसके बारे में अधिक स्पष्टीकरण। क्या मेरी प्रक्रिया केवल 30-40% कुल सीपीयू (क्वाड कोर पर) का उपयोग कर रही है क्योंकि यह अधिक उपयोग करने के लिए पर्याप्त रूप से बहु-थ्रेड नहीं है या ऐसा इसलिए है क्योंकि यह भी I/O बाध्य है और डिस्क का उपयोग बाधा है?

तो क्या ऐसा करने का कोई तरीका नहीं है? (यह सुनिश्चित करने के अलावा कि कंप्यूटर पर कोई अन्य सीपीयू गतिविधि नहीं चल रही है)

उत्तर

1

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

2

आप नहीं सीधे एक दिया प्रक्रिया के लिए प्रति-processer चक्र के समय प्राप्त कर सकते हैं, लेकिन आप इसे समय के साथ अनुमान कर सकते हैं QueryIdleProcessorCycleTime साथ (के रूप में यह सब तार्किक प्रोसेसर के लिए निष्क्रिय बार देता है, यानी, कोर) और QueryProcessCycleTime और कहा कि यह सोचते हैं यह एकमात्र गैर-निष्क्रिय प्रक्रिया चल रही है।

+0

लॉल, Vista में चलते समय मेरी प्रक्रिया को एकमात्र गैर-निष्क्रिय प्रक्रिया होने के लिए मुश्किल है, इतना पृष्ठभूमि शोर – Davy8

संबंधित मुद्दे

 संबंधित मुद्दे