Svchost.exe द्वारा असामान्य सीपीयू उपयोग का निदान कैसे करें? [डुप्लिकेट]


19

मुझे एक ड्यूल-कोर पेंटियम द्वारा संचालित विन 7 32-बिट सिस्टम वाला लैपटॉप मिला है (यह 2010 का लैपटॉप है)। कभी-कभी यह ठीक काम करता है, लेकिन आमतौर पर यह 100% सीपीयू लोड पर बेकार होता है। सीपीयू दो svchost.exe प्रक्रियाओं (प्रत्येक 50%) द्वारा खपत होती है। जहां तक ​​मैं समझता हूं, यह एक सेवा मेजबान है। क्या यह पता लगाने का कोई तरीका है कि अपराधी कौन सी सेवा है?

ध्यान दें: यह सुरक्षित मोड में भी होता है।


1
आप सेवाओं को देखने के लिए प्रक्रिया एक्सप्लोरर svchost के दो उदाहरणों के तहत चल रहे (उपयोग कर सकते हैं technet.microsoft.com/en-us/sysinternals/processexplorer.aspx )
Yorik

@ योरिक: मैंने इसके बारे में सोचा, लेकिन ProcessExplorer ने कुछ भी इस्तेमाल नहीं किया।
वायलेट जिराफ

5
विंडोज 7 में, मैं कहूंगा कि वर्तमान में> 90% svchost CPU समस्याएँ Windows अद्यतन सेवा से संबंधित हैं। यदि आपको सिस्टम अप-टू-डेट (जो पुराने प्रोसेसर के साथ नए इंस्टॉलेशन पर मुश्किल हो सकता है) प्राप्त करने में वास्तविक परेशानी है, तो बिना नेटवर्क कनेक्शन के KB3050265, KB3138612 और KB3145739 स्थापित करने का प्रयास करें। फिर रिबूट करें और अपडेट खोजें।
ऑनट्रैक

@ क्रैक: दिलचस्प। वास्तव में, मुझे लगता है कि अपडेट की जाँच इस मशीन पर अक्षम है, यह शायद 2010 या 2012 के बाद से कभी अपडेट नहीं की गई थी। और मुझे अपडेट स्थापित करने की कोई इच्छा नहीं है, मुझे बस सीपीयू समस्या को ठीक करने की आवश्यकता है। यदि आप सही हैं, तो बस Windows अद्यतन सेवा को अक्षम करने में मदद मिलेगी?
वायलेट जिराफ

ऐसा कई बार पूछा गया था। देखें। आप संभवतः डब्ल्यूयू स्कैनिंग मुद्दे को देख सकते हैं। मेरे उत्तर के चरणों से इसे हल करें: superuser.com/a/996072/174557
magicandre1981

जवाबों:


28

Svchost.exe की एक उदाहरण के रूप में कई सिस्टम सेवाओं को होस्ट करता है, यहां बताया गया है कि सेवाओं को कैसे अलग करना है, प्रत्येक svchost.exe के अपने उदाहरण के लिए, ताकि यह पता लगाया जा सके कि कौन सी सेवा सीपीयू की खपत करती है।

प्रक्रिया निम्नलिखित है :

  1. CPU के अवरोहण के द्वारा छांटी गई सभी प्रक्रियाओं को दिखाने और CPU की खपत करने वाली प्रक्रियाओं के PID को चिह्नित करने के लिए Task Manager का उपयोग करें

  2. कमांड प्रॉम्प्ट (cmd) में कमांड दर्ज करें
    Tasklist /svc /fi "IMAGENAME eq svchost.exe"
    यहाँ छवि विवरण दर्ज करें

  3. Svchost.exe के समस्यात्मक उदाहरण अब उनके PID द्वारा स्थित हो सकते हैं और दाईं ओर आपको सिस्टम सेवाओं की एक सूची मिलेगी जो वे होस्ट करते हैं

  4. सूची में प्रत्येक नाम के लिए कमांड प्रॉम्प्ट (cmd) में निम्न कमांड दर्ज करें, जो प्रशासक के रूप में चलाया जाता है:
    sc config <name> type= own
    ('=' और 'खुद' के बीच का स्थान नोट करें)

  5. रीबूट

सिस्टम सेवाएँ जिन्हें आपने अलग किया है, अब प्रत्येक svchost.exe के अपने उदाहरण में चलेगा और कार्य प्रबंधक में कार्य टैब में देखा जा सकता है। आप एक उदाहरण पर राइट-क्लिक कर सकते हैं और सीधे सेवा में जाने के लिए "सेवा पर जाएं" का चयन करें या फिर टास्कलिस्ट कमांड का उपयोग करें।

अधिक जानकारी के लिए Microsoft आलेख
SVCHOST.EXE समस्या निवारण के साथ प्रारंभ करना देखें ।


7

प्रोसेस एक्सप्लोरर इसे आसान बनाता है। मैंने 64-बिट विंडोज 7 प्रोफेशनल और 64-बिट विंडोज 10 प्रो पर प्रोसेस एक्सप्लोरर v16.20 के साथ इस काम की पुष्टि की है।

  1. चलाएँ प्रक्रिया एक्सप्लोरर ऊंचा।
  2. कॉलम svchost.exeमें एक उच्च (या यहां तक ​​कि सिर्फ मापने योग्य / गैर-रिक्त) मान के साथ एक प्रक्रिया का पता लगाएं CPU। के अनुसार सॉर्ट करना Processया CPUस्तंभ में इस के साथ सहायता कर सकते हैं।
  3. svchost.exeप्रक्रिया को राइट-क्लिक करें और चुनें Properties...
  4. प्रक्रिया गुण विंडो में, Threadsटैब का चयन करें । इस प्रक्रिया में सभी थ्रेड प्रदर्शित किए जाएंगे।
  5. CPUस्तंभ में एक उच्च (या, फिर, बस औसत दर्जे का / गैर-रिक्त) मान के साथ एक थ्रेड का पता लगाएँ । CPUकॉलम के आधार पर छाँटने से इसमें सहायता मिल सकती है।प्रक्रिया एक्सप्लोरर प्रक्रिया थ्रेड्स टैब
  6. Serviceस्तंभ सेवा है, जिसमें कि धागा चल रहा है के नाम पर दिखाई देगा।

यदि सेवा नाम आपके लिए परिचित नहीं है ...

  1. प्रक्रिया गुण विंडो में, Servicesटैब का चयन करें । इस प्रक्रिया में चलने वाली सभी सेवाओं को प्रदर्शित किया जाएगा।
  2. चरण 6 में स्थित टैब पर स्तंभ के मान से टैब Serviceपर कॉलम का मिलान करें ।ServicesServiceThreadsएक्स्प्लोरर एक्स्प्लोरर प्रोसेस सर्विसेज टैब
  3. Display Nameस्तंभ की सेवा के अनुकूल नाम प्रदर्शित करेगा। चयनित सेवा का विवरण सेवाओं की सूची के नीचे दिखाई देगा।

आह, मैं प्रोसेस एक्सप्लोरर के उन उन्नत कार्यों के बारे में नहीं जानता था। धन्यवाद।
वायलेट जिराफ

3

आप टास्क मैनेजर का उपयोग कर सकते हैं । अन्य तरीके हैं (कमांड लाइन, या यहां तक ​​कि WinAPI का उपयोग करके कुछ प्रोग्राम भी लिखें ), लेकिन मैं यहां उनकी चर्चा नहीं करूंगा। आगे जाने से पहले, आपके उपयोगकर्ता के पास प्रशासनिक विशेषाधिकार होना चाहिए।

पर प्रक्रियाओं टैब:

  • सभी उपयोगकर्ताओं से दिखाएँ प्रक्रियाओं की जाँच करें ।
  • प्रक्रियाओं "तालिका शीर्ष लेख" पर राइट क्लिक करें (जैसे कॉलम के नाम होते कि छवि नाम , पीआईडी , उपयोगकर्ता नाम , सीपीयू , ...), और चुनें कॉलम का चयन करें ...
    • पॉप-अप वाले संवाद पर, नीचे स्क्रॉल करें और सुनिश्चित करें कि आप कमांड लाइन , और पीआईडी ​​(प्रोसेस आइडेंटिफ़ायर) की जांच करें और फिर ओके दबाएं ।
  • प्रोसेस टैब पर वापस , CPU कॉलम हैडर पर क्लिक करें ताकि प्रक्रियाएँ उनके CPU उपभोग द्वारा आर्डर की जाएँ (ध्यान दें कि प्रक्रियाएँ आरोही / अवरोही क्रम में प्रदर्शित हो सकती हैं - प्रत्येक CPU ऑर्डर पर स्विच करता है), 2 प्रक्रियाओं तक क्लिक करें तालिका के शीर्ष पर दिखाई देते हैं। अब आप उनकी कमांड लाइन देख सकते हैं (मुझे नहीं पता, लेकिन मुझे लगता है कि उनमें से एक netsvcsनेटवर्क सेवा है) और उनके पीआईडी ​​भी हैं।

  • अगला, आपको सेवाओं के लिए 2 प्रक्रियाओं से मेल खाना चाहिए। उसके लिए आप या तो:

    • उन पर राइट क्लिक करें और फिर (रों) सेवा पर जाएं ... । यह सेवा टैब पर चली जाएगी , उस प्रक्रिया में चलने वाली सभी सेवा चयनित (इस विकल्प के लिए आपको पिछले चरणों में से किसी की आवश्यकता नहीं है :))।
    • खोलें सेवा में स्नैप-इन में एमएमसी । जब एक सेवा पर डबल क्लिक्क-इंग (केवल चल रहे लोगों की जांच करने के लिए समझ में आता है), निष्पादन योग्य पथ के तहत आप उनकी कमांड लाइन देख सकते हैं कि आपको मैच करना चाहिए।
  • पर W10 आप सटीक जानकारी आप से की जरूरत है देख सकते हैं संसाधन मॉनिटर (आप इसे से शुरू कर सकते हैं कार्य प्रबंधक , प्रदर्शन टैब)। वहां आप सीपीयू टैब और सेवाओं पर जाते हैं और उनके सीपीयू की खपत सूचीबद्ध होती है।

EDIT0 : अद्यतित उत्तर देने के लिए एक सरल (और रास्ता बनाने के लिए और अधिक समझ) दृष्टिकोण, बजाय मेरे बाएं हाथ की शैली का उपयोग करके मेरे दाएं सिर को खरोंचने के लिए , जिसे मैंने शुरू में पोस्ट किया था।


मैंने कभी ध्यान नहीं दिया कि आप कमांड लाइन देख सकते हैं, नीट! हैरिमेक के उत्तर के रूप में सीधा नहीं है, लेकिन यह जानना अच्छा है।
वायलेट जिराफ

टास्क मैनेजर अपने दम पर कर सकता है। यदि सेवा टैब पर स्विच करते समय एक svchost प्रक्रिया का चयन किया जाता है, तो उस प्रक्रिया में चलने वाली सेवाओं का चयन वहाँ किया जाएगा।
सिमोन रिक्टर

1
वास्तव में? W10 पर ऐसा नहीं होता है (कम से कम जब कुछ सेवा पहले से ही चयनित है)। एक ही तरीका है कि इस प्रक्रिया पर ' rclick ' आईएनजी है, और फिर चुनें गो टू सर्विस (विकल्प ) जो मैंने याद किया - सबसे अधिक संभावना यह W7 में भी मौजूद है । दुर्भाग्य से मैं जाँच नहीं कर पा रहा हूँ।
CristiFati

1
@CristiFati इस विकल्प को Windows Vista के बाद से ही अस्तित्व में है (स्रोत: technet.microsoft.com/en-us/library/ff642468.aspx ), तो आप शायद हाथ से पीआईडी मिलान के बजाय अपने जवाब में जोड़ने चाहिए
वसीली एलेक्सीव
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.