जैसा कि अन्य लोग पहले ही बता चुके हैं, हम उस स्क्रीनशॉट से देख सकते हैं कि जो सीपीयू इतनी मेहनत कर रहा है, वह अपना सारा समय कर्नेल मोड में बिता रहा है। (लाल रंग।)
व्यवस्थापक के रूप में पॉवर्सशेल चलाना, प्रकार:
Get-Process | Select Name, PrivilegedProcessorTime | `
Sort-Object PrivilegedProcessorTime -Descending
सूची के शीर्ष पर प्रक्रिया वर्तमान में सबसे कर्नेल मोड CPU समय का उपयोग करने वाली प्रक्रिया है। यदि वह प्रक्रिया "सिस्टम" नहीं है , तो आपने अभी पता लगाया है कि उपयोगकर्ता मोड प्रक्रिया क्या इस CPU उपयोग का कारण बन रही है। अगर उच्चतम विशेषाधिकार प्राप्त प्रोसेसर्स टाइम के साथ प्रक्रिया सिस्टम है, जिस पर मुझे संदेह है, तो यह थोड़ा अधिक जटिल है।
ओपन प्रोसेस एक्सप्लोरर। वैकल्पिक रूप से, अपना प्रतीक सर्वर सेट करें। सुनिश्चित करें कि आप पूर्ण UAC ऊंचाई के साथ चल रहे हैं। सिस्टम "प्रक्रिया" पर राइट क्लिक करें और गुण पर जाएं। फिर थ्रेड्स टैब पर जाएं। CPU उपयोग द्वारा थ्रेड्स को सॉर्ट करें। यह सब कर्नेल मोड काम करने वाला धागा यहाँ होना चाहिए। यदि आप स्टार्ट एड्रेस के तहत सूचीबद्ध मॉड्यूल को देखते हैं, तो यह आपको एक सुराग देना चाहिए कि काम किससे संबंधित है। उदाहरण के लिए, अगर यह NDIS.sys है, तो यह एक नेटवर्क इंटरफ़ेस ड्राइवर है। यदि आप प्रतीक सर्वर सेट करते हैं, तो आपको एक मॉड्यूल के भीतर एक फ़ंक्शन का नाम देखना चाहिए (जब तक कि मॉड्यूल गैर-Microsoft नहीं है), अन्यथा आपको केवल मॉड्यूल के प्रारंभ पते से एक संख्यात्मक ऑफसेट दिखाई देगा।
वैकल्पिक रूप से, Xperf का उपयोग Windows प्रदर्शन टूलकिट से प्रोफाइल इंटरप्ट, डीपीसी आदि के लिए करें।
xperf -on PROC_THREAD+LOADER+DPC+INTERRUPT
और के साथ रिकॉर्डिंग बंद करो xperf -d logfile.etl
Xperf पुराने Kernrate टूल को बदल देता है, और आपको कुछ बहुत विस्तृत डेटा नेट कर सकता है।
जब सीपीयू कर्नेल मोड में काम कर रहा होता है, तो यह ज्यादातर इंटरप्ट सर्विस रूट को चलाता है। (ISRs) जब कोई व्यवधान उत्पन्न होता है, तो उस मोड पर उपयोगकर्ता मोड का काम निलंबित हो जाता है, और CPU उस व्यवधान के लिए पंजीकृत ISR चलाता है। यदि आप अपने सीपीयू को इन अवरोधों पर समय की एक विषम राशि खर्च करते हुए पाते हैं, तो यह आमतौर पर एक दोषपूर्ण डिवाइस ड्राइवर को इंगित करता है जिसे अपडेट करने की आवश्यकता होती है।
हालांकि इस परिदृश्य के बारे में मुझे (कोई भी इरादा नहीं) बग यह है कि यह ऐसा प्रतीत होता है जैसे कि जो भी कर्नेल थ्रेड कर रहा है, वह उस एक कोर के लिए अभिप्रेरित होने लगता है । मुझे आश्चर्य है कि डिस्पैचर केवल एक ही मनमाने ढंग से कोर पर चलने के लिए थ्रेड शेड्यूल करने के लिए क्यों लगता है। इसलिए मुझे लगता है कि हमें यह जानने की जरूरत है कि जिसने भी इस डिवाइस ड्राइवर को लिखा है और उसे थ्रेडेड डीपीसी कैसे करना है, और स्पष्ट रूप से कर्नेल थ्रेड्स पर एक आत्मीयता स्थापित करने के लिए नहीं, आदि।