Barındırılan hizmeti (svchost.exe) kendi işleminde ayırma


13

Birçok süper kullanıcı muhtemelen şimdiye kadar farkında olduğu gibi, svchost.exe , Microsoft tarafından, hizmet grubu başına bir işlemle, tek bir işlemde birden çok Windows hizmetini barındırmak için kullanılır.

Windows 7'de (ve üstü?), Görev Yöneticisi'nde belirli bir svchost.exe işlemini sağ tıklatıp "içeride" çalışan hizmetleri görmek için "Hizmetlere git" i seçebilirsiniz. Tüm Windows sürümlerinde Process Explorer da kullanılabilir.

Ancak bu, örneğin belirli bir hizmetin CPU'yu% 100 sabitlediğini veya 700 MB bellek kullandığını görmesine izin vermez. Aynı gruptaki hizmetleri manuel olarak durdurabilir ve eleme sürecini kullanabilirsiniz, ancak özellikle sorun sadece aralıklı olarak ortaya çıkarsa sıkıcıdır.

Microsoft muhtemelen böyle hizmetleri gruplandırmak için iyi bir nedene sahiptir (belki de işlem başına ek yükü azaltıyor mu?), Ancak belirli bir hizmeti kendi svchost.exe içinde izole çalışmaya zorlamak için bir yolu var mı?

Yanıtlar:


16

Hayır, doğru yol bu komutu çalıştırmaktır:

sc configwuauserv type= own

bu, Windows Update'i kendi işleminde çalıştıracak şekilde yapılandırır. Bunu geri almak için koş

sc config wuauserv type= share

Yönetici haklarına sahip bir komut isteminden . Bu ayar değerini değiştirir type. Eğer tür 0x20bir grup işlemiyse , değer ise 0x10kendi işlemidir .

Windows 10 Creators Güncellemesi'nden (Sürüm 1703, Derleme 15063) beri, yeterli RAM'iniz varsa Windows bunu kendi başına yapar .


1

Bilmemin tek yolu kayıt defteri korsanlığıdır. Her zamanki kayıt defteri veritabanı düzenleme feragatnamesi geçerlidir (Windows kurulumunuzdan tüm zaman dilimine kadar her şeyi yok edebilir).

Aşağıdaki örnek wuauserv, aşırı kaynakları hatalı kullandığı ve kullandığı bilinen Windows Update ( ) hizmetini yalıtır . Yöntem yalnızca Windows 7'de test edilmiştir .

  1. Regedit.exe'yi (Kayıt Defteri Düzenleyicisi) başlatın ve

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Svchost
    

    Bu anahtar, grup ayarlarını içeren her grup için bir alt anahtarın yanı sıra gruptaki hizmetleri listeleyen her grup için bir REG_MULTI_SZ değeri içerir.

  2. Hedef hizmetin geçerli grubunun alt anahtarına bakın (bu örnekte netsvcs:), ardından uygun ada ve aynı içeriğe sahip yeni bir alt anahtar oluşturun. Değer türlerine ve içeriklere uymayı unutmayın.

  3. Hizmet grubuna sahip tek bir satır içeren yeni grubun adını taşıyan bir REG_MULTI_SZ değeri oluşturun; ve hizmet adını mevcut REG_MULTI_SZ grubundan kaldırın.

  4. Ardından, aşağıdaki hedef hizmet alt anahtarına gidin HKLM\SYSTEM\CurrentControlSet\services. Bu örnekte:

     HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\wuauserv
    
  5. ImagePathDeğeri düzenleyin ve ardından grup adını -kyeni grup adına değiştirin.

  6. Hedef hizmeti yeniden başlatın (örneğin, Görev Yöneticisi'ndeki Hizmetler sekmesini kullanarak veya services.msc aracılığıyla) ve kendi ayrı svchost.exe işleminde görünmesi gerekir.

Windows Update bir dahaki sefere amok çalıştırdığında, kaynak kullanımı Görev Yöneticisi'nde hemen görünür ve hatta "İşlemi Sonlandır" (hatta daha kritik hizmetler için önerilmez) kullanılarak öldürülebilir.

Hizmet başlatılamazsa, yukarıdaki adımları inceleyin ve tekrar deneyin veya üstteki uyarıyı geri çağırırken değişikliklerinizi geri almayı deneyin. :-)

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.