नए स्थापित विंडोज 10 वाले कंप्यूटरों में से एक पर, एक उपयोगकर्ता ने ओएस के लगातार हैंग होने और धीमी गति से काम करने की शिकायत करना शुरू कर दिया। टास्क मैनेजर दिखाता है कि लगभग 50% CPU संसाधनों का उपयोग सिस्टम . द्वारा किया जाता है (ntoskrnl.exe ) प्रक्रिया। इस लेख में मैं विभिन्न प्रक्रियाओं द्वारा उच्च CPU उपयोग के मुख्य निदान विधियों और विंडोज घटक या सिस्टम ड्राइवर की समस्या का पता लगाने के तरीकों का वर्णन करने का प्रयास करूंगा।
वह स्थिति जब सिस्टम प्रक्रिया सिस्टम के आधे से अधिक CPU संसाधनों की खपत करती है, सामान्य नहीं है। Ntoskrnl.exe OS कर्नेल का निष्पादन योग्य है। यह कोर सिस्टम प्रक्रिया है। OS कर्नेल डिवाइस के सिस्टम ड्राइवर चलाता है, जो समस्या का स्रोत होने की संभावना है (हार्डवेयर डेवलपर्स द्वारा सभी ड्राइवरों का ठीक से परीक्षण नहीं किया जाता है)।
एक नियम के रूप में, ड्राइवर कोड में रिसाव की समस्या और सीपीयू, मेमोरी या डिस्क संसाधनों के उच्च उपयोग की समस्या नए हार्डवेयर की स्थापना के बाद, नए ड्राइवर संस्करण (स्वचालित ड्राइवर अपडेट सहित, जिसे अक्षम किया जा सकता है) या विंडोज अपडेट के बाद प्रकट होता है।पी> युक्ति . कुछ मामलों में, सीपीयू और मेमोरी पर एक उच्च भार संपीड़ित मेमोरी प्रक्रिया का कारण बन सकता है।
यह समझने के लिए कि कौन सा ड्राइवर या मॉड्यूल उच्च CPU उपयोग का कारण बनता है, आप एक निःशुल्क टूल का उपयोग कर सकते हैं प्रोसेस एक्सप्लोरर . इसे डाउनलोड करें और व्यवस्थापक के रूप में चलाएं।
सिस्टम ढूंढें चल रही प्रक्रियाओं की सूची में, उस पर राइट-क्लिक करें और इसके गुण open खोलें .
थ्रेड्स . पर जाएं टैब। सीपीयू उपयोग (सीपीयू कॉलम) की दर से कर्नेल द्वारा लोड किए गए मॉड्यूल की सूची को क्रमबद्ध करें। प्रारंभ पता . में कॉलम, एक घटक या ड्राइवर का नाम दिखाया गया है, जो उच्च भार का कारण बनता है (नीचे स्क्रीनशॉट समस्या प्रणाली से नहीं है, मेरे मामले में यह ntoskrnl.exe प्रक्रिया थी)।
ऐसे ड्राइवर का पता लगाने के लिए जो उच्च CPU लोड का कारण बनता है, आप एक निःशुल्क Microsoft टूल kernrate.exe का भी उपयोग कर सकते हैं। (कर्नाटे व्यूअर)। यह टूल WDK . का हिस्सा है (विंडोज डिवाइस किट)। WDK इंस्टालेशन के बाद, आप टूल को फ़ोल्डर …\Tools\Other\amd64 में पा सकते हैं।
kernrate.exeचलाएं मापदंडों के बिना और डेटा एकत्र होने तक प्रतीक्षा करें (10-15 मिनट), फिर Ctrl-C दबाकर टूल को समाप्त करें। मॉड्यूल की सूची देखें कर्नेल मोड के लिए परिणाम अनुभाग।
जैसा कि आप देख सकते हैं, हमारे उदाहरण में b57nd60x मॉड्यूल उच्च CPU उपयोग का कारण बन रहा है। Google या सिगचेक . का उपयोग करना टूल (मॉड्यूल से संबंधित ड्राइवर फ़ाइलों का पता लगाने के लिए सिगचेक का उपयोग करने का उदाहरण देखें), आप यह पता लगा सकते हैं कि समस्या ब्रॉडकॉम नेटएक्सट्रीम गिगाबिट ईथरनेट एनडीआईएस6.0 ड्राइवर के कारण है।
आप Windows प्रदर्शन टूलकिट (WPT) का उपयोग करके सिस्टम बूट के दौरान CPU उपयोग का विश्लेषण भी कर सकते हैं। आपको WPT स्थापित करना होगा और Windows Perfomance Recorder . में डेटा संग्रह चलाना होगा (प्रथम स्तर त्रिकोण + CPU उपयोग -> प्रारंभ) ग्राफिक कंसोल।
या आप कमांड का उपयोग करके विश्लेषण के लिए डेटा एकत्र करना शुरू कर सकते हैं:
xperf -on latency -stackwalk profile -buffersize 1024 -MaxFile 256 -FileMode Circular && timeout -1 && xperf -d cpuusage.etl
आपको फ़ाइल को सहेजना होगा और उसे Windows प्रदर्शन विश्लेषक (WPA) में खोलना होगा। सिस्टम प्रक्रिया स्टैक का विस्तार करें। इस उदाहरण में, आप देख सकते हैं कि ahrx.sys ड्राइवर (एथेरोस वायरलेस नेटवर्क एडेप्टर) उच्च CPU लोड का कारण बनता है।
इसलिए, ड्राइवर की समस्या का पता चला है। आगे क्या है?
समस्या को हल करने के लिए, बाद के (या पुराने) ड्राइवर संस्करण को स्थापित करें, या किसी भी ड्राइवर संस्करण के साथ समस्या बनी रहने पर हार्डवेयर को पूरी तरह से अक्षम (डिस्कनेक्ट) करें। ड्राइवर सत्यापनकर्ता का उपयोग करके अद्यतन किए गए ड्राइवर को अतिरिक्त रूप से तनाव-परीक्षण किया जा सकता है।