Etki Alanı Denetleyicilerinde “Peaky” CPU Kullanımı


25

İki "Windows 2008 2008 SP2 (ne yazık ki 2008 R2 değil") Etki Alanı Denetleyicileri, 150 "küçük" istemci alanında "şeftali" CPU kullanımı sergiliyor. Etki Alanı Denetleyicileri hem aynı davranışı sergilerler hem de vSphere 5.5.0, 1331820'de barındırılırlar. Her iki veya üç saniyede bir CPU kullanımı% 80-100'e kadar atlar ve ardından hızlı bir şekilde düşer, bir veya iki saniye boyunca düşük kalır ve sonra atlar tekrar.

DC3 Görev Yöneticisi Performansı


Sanal makinenin geçmiş performans verilerine bakmak, bu durumun en az bir yıldır devam ettiğini ancak sıklığın Mart ayından bu yana arttığını gösteriyor.

DC3 Sanal Makine Performansı



Suçlanan işlem, DHCP İstemcisini (dhcpcsvc.dll), EventLog (wevtsvc.dll) ve LMHOSTS (lmhsvc.dll) hizmetlerini sarmalayan SVChost.exe'dir. Kesinlikle bir Windows dahili uzmanı değilim, ancak EventLog'un bir ton RpcBindingUnbind çağrısını tetiklediği görülüyor dışında İşlem Gezgini ile işlemi görüntülerken özellikle yanlış bir şey bulamadım .

SVCHost.exe için DC3 İşlem Gezgini



Bu noktada kahve ve fikirlerim bitiyor. Bu sorunu gidermeye nasıl devam etmeliyim?


Burada sadece spitballing: 1. DC'lerde olay kayıtlarını sorgulayan bir izleme sisteminiz var mı? 2. DC'lerde ağır Olay Günlüğü etkinliğine yol açabilecek herhangi bir denetim türüne sahip misiniz?
joeqwerty

1
Bu iş parçacığı yüksek CPU olay günlüğü için bir Google aramada ortaya çıktığında çalan istedim. Bu sorun hala Server 2012'de mevcuttur. Sunucu 2012 DC'sinde de aynı sorunu çözdüm. Günlük Dosyası boyutlarını kontrol edin. Varsayılan günlük yolu:% SystemRoot% \ System32 \ Winevt \ Logs \ Telsizin üzerine yaz seçeneği, daha büyük günlük dosya boyutlarıyla başa çıkmada sorunla karşılaşmaktadır. Doldurup yuvarlandığında mayını Arşiv'e ayarladım.
KraigM

Google’dan buraya gelenler için, bu Olay Günlüğü hizmeti sorunu denetleyici olmayan Windows Server makineleri için de geçerlidir. Benim durumumda, yeterince kullanıcı olması mmc.exe(muhtemelen varsayılan "Sunucu yöneticisi" penceresi?) Açık olması da düzenli artışlara neden oldu.
Nickolay

Yanıtlar:


25

TL; DR: EventLog dosyası doluydu. Windows Server 2008'de girişlerin üzerine yazma işlemi pahalıdır ve / veya çok iyi uygulanmamıştır.


At @pk. ve @joeqwerty öneri ve etrafa sorduktan sonra, unutulmuş bir izleme uygulamasının olay kayıt defterlerini kazıma ihtimalinin büyük olasılıkla göründüğüne karar verdim.

Microsoft'un Ağ İzleyicisini Etki Alanı Denetleyicilerinden birine kurdum ve ProtocolName == MSRPCfiltreyi kullanarak MSRPC için filtrelemeye başladım . Çok fazla trafik vardı ancak hepsi uzak sitemizin RODC'si arasındaydı ve ne yazık ki dinleyen EventLog işlemi ile aynı hedef portu kullanmadı. Kahretsin! İşte bu teori.

Olayları basitleştirmek ve izleme yazılımını çalıştırmayı kolaylaştırmak için, EventLog hizmetini SVCHost'tan açmaya karar verdim. Aşağıdaki komut ve Etki Alanı Denetleyicisinin yeniden başlatılması, bir SVCHost işlemini EventLog hizmetine tahsis eder. Bu, PID'e bağlı birden fazla servisiniz olmadığı için soruşturmayı biraz kolaylaştırır.

SC config EventLog Type= own

Daha sonra ProcMon'a başvurdum ve o PID'i kullanmayan her şeyi dışlamak için bir filtre kurdum . EventLog tarafından burada olası bir neden olarak belirtilen eksik kayıt defteri anahtarlarını açma konusundaki başarısız denemelerin tonunu görmedim (görünüşe göre berbat uygulamalar, Olay Kaynakları olarak son derece zayıf şekillerde kaydolabilir ). Tahmin edilebileceği üzere, Güvenlik Olay Günlüğünün birçok başarılı ReadFile girdisi gördüm (C: \ Windows \ System32 \ WinEvt \ Logs \ Security.evtx).

ReadFile Security.evtx

İşte şu olaylardan birindeki Stack'a bir bakış: RpcBindingUnbind

Önce RPCBinding'i, sonra RPCBindingUnbind'i fark edeceksiniz. Bir vardı çok bunlardan. Saniyede binlerce gibi. Güvenlik Günlüğü gerçekten meşgul veya bir şey Security.evtxgünlüğüyle doğru çalışmıyor .

EventViewer'da Güvenlik Günlüğü yalnızca bu boyuttaki bir etki alanı için uygun görünen, dakikada 50-100 arası olay kaydı yapıyordu. Kahretsin! İki numaralı teori, unutulmayacak bir köşede sola doğru açık bırakılmış çok ince olay olay incelemesiyle bazı uygulamalarımız oldu. Günlüğe kaydedilen olayların oranı düşük olmasına rağmen kaydedilmiş çok sayıda olay (~ 250.000) vardı. Günlük büyüklüğü belki?

Güvenlik Günlükleri - (Sağ Tıkla) - Özellikler ... ve maksimum günlük boyutu 131,072 KB olarak ayarlandı ve günlük boyutu şu anda 131,072 KB olarak tutuldu. 'Gerektiğinde olayların üzerine yaz' radyo düğmesi işaretlendi. Günlük dosyasını sürekli silmenin ve yazmanın özellikle çok dolu olduğunda muhtemelen zor bir iş olduğunu düşündüm, bu yüzden Günlüğü Temizle'yi seçtim (daha sonra denetim için ihtiyaç duymamız durumunda eski günlüğü kaydettim) ve EventLog hizmetinin oluşturulmasına izin verdim yeni bir boş dosya. Sonuç: CPU kullanımı% 5 civarında aklı başında bir seviyeye geri döndü.


İyi iş. Ayrıca TL; DR cevabın en üstüne mi taşınsın?
Zlatko

Sadece FYI ... bu, çoğu 2012/2012 R2 olan etki alanı denetleyicilerimizden birine çarptı. Bu nedenle, yeni Windows Server sürümlerinde eşit derecede iyi uygulanmadığı görülüyor.
UmutsuzN00b

Yani bu benim sorunum, ANCAK doluyken arşive yazmayı bırakmadım. Maksimum günlük boyutu 1 GB ve mevcut boyut 639 MB'dir. Kaydı sınama amaçlı olarak silme dışında ne yapılması gerektiğine değindi. Bu, 2008 R2 Std'de ve PDC'yi ve ikincil DC'yi etkiliyor. İkisi de VM. Her DC için 2 soket / 1 çekirdek tahsis etmem gerekiyordu ya da ikisi de 1/1 tahsisleri çıkardılar ve artık cevap vermediler. Daha fazla RAM eklemek hiçbir şey yapmadı. Bu noktada sürekli olarak% 60-100 CPU kullanıyor.
Travis

Güvenlik günlüğü kaydedildi / silindi. Hala% 74 CPU kullanımı çalışıyor.
Travis

5

Küçük bir Veri Toplayıcı Grubu oluşturarak bu durumu takip edebilirsiniz.

  • Performans İzleyicisi'ni açın ve yeni bir kullanıcı tanımlı Veri Toplayıcı Grubu oluşturun.
  • Seç Manuel (hayır şablon) ve açılan menüden Olay izleme verilerini sadece.
  • Active Directory Etki Alanı Hizmeti: Çekirdek verilerini ekleyin ve kümeyi kaydedin.
  • Değiştir Dur Koşulu altında Özellikleri 1 dakikaya.
  • Seti başlat ve bekle.
  • Tamamlandığında, kaydedilen dönüştürmek .etl bir dosyayı .csv kullanaraktracerpt –l “file.etl” –of CSV
  • Summary.csv ve dumpfile.csv verilerini Excel'de analiz edin . Analizinizde size yardımcı olması için bu Import-DC-Info.xlsm belgesini indirmek isteyebilirsiniz .

Önsezim doğruysa, DC'inizi çeken bazı cihazlar (IP: port) göreceksiniz.


1

Kesinlikle zor bir tane. Yalnız bırakmanın yanı sıra (1 CPU /% 50 yük .. kimin umrunda?), Yeni bir etki alanı denetleyicisi kurmayı deneyebilir ve birkaç gün sonra size aynı davranışı verirse görebilirsiniz. Eğer öyleyse, bir Wireshark izi ile denemek isteyebilirsiniz (açıkçası, o zaman buna neden olan Ağı var)

Akla gelen bir sonraki şey, microsoft'a yapılan basit bir çağrıdır.


-2

Travis, "arşiv" sana yardım etmedi. Aslında, olay günlüğünü 2/3 yaşındayken temizlemek bile size yardımcı olmadı. Fakat "arşiv" KraigM'e yardım etti.

kce: 131 MB "üzerine yazma" dosyasını temizledi ve% 55'ten% 5'e yükselen performans düşüşünü gördü, ancak SORU: Belki de (a) yalnızca üzerine yazma koşuluna ulaşıldığında tetiklenebileceğinden, eninde sonunda yüksek kullanım gördünüz ya da (b) temizlenen dosya 0 MB boyutundan 131 MB boyutuna çıktığında doğrusal olarak daha kötü hale gelebilir.

Bazıları security.evtx için bir tane görmüş ve bir tanesi de Görev Zamanlayıcısı operasyonel günlüğü için görmüş. AV'nizi tamamen kaldırmanızı (hangisini kullanıyorsunuz) ve denemenizi öneririz. Davetsiz misafirlerin izlerini gizlemeleri gerekir ve izleri kurdukları planlanmış görevlerde veya girişlerinde yapılır. Böylece, bu olay günlüklerine tanıtıcıları kırarak ve parçalarını atlamak için yeniden yazarak izlerini gizleyecekler. AV'lar, Microsoft’a ait olsaydı, bu yüksek kullanımın daha fazla olduğu rapor edileceğinden, buggy’de bir yol tespit ediyor olabilirdi, ancak Googling’de çok az sayıda yazı görüyorum. Bunu security.evtx günlüğü için 2008 R2 sunucusunda da görüyorum. Olay günlüğü abonesi yok, harici monitör yok. Birkaç AV servisinin (McAfee) çalıştığını gözlemledim ve bir sunucu için o kadar çok toplam kullanımda olduklarını gördüm, bu yüzden kaldırıldığından şüpheleniyorum ve yalnızca kısmen öyle (muhtemelen McAfee'nin özel kaldırıcısına ihtiyacı var) ve kancaların olup olmadığını merak ediyorum. vestige (ya da normalde kurulmuş) McAfee hizmeti veya bir şekilde olay günlüğüne normal bir şekilde yazacak şekilde çalışan McAfee filtre sürücüleri ve filtrelemelerinde, bunu tüm olay günlüğünün tamamını okuyan bir okumaya dönüştürmeleri gerektiğine karar verir. İnan bana, bazı AV şirketlerinden üçüncü taraf filtre sürücüleri, Microsoft’un olay günlüğü uygulamasından kesinlikle daha 10000x hatalıdır ve bu da büyük olasılıkla mükemmeldir. Özetle,% 100 kaldırmanız TÜM SİZİNİZİ VE GÖRSİNİZ sorununu çözer. Varsa, AV'lerini düzeltmek için AV şirketinizle birlikte çalışın. Bunun için istisnalar yapılması tavsiye edilmez.

Ayrıca, procmon kullanılırken, WriteFile çağrılarına dikkat edin, çünkü Writefile filtre yöneticisinin tüm dosyayı okumasını tetikler. Benim durumumda okuma, tasarımın tamamlayabileceği yazma tamamlandıktan sonra yaklaşık 30 saniye sonra başlatıldı. Ancak tutarlıydı ve benim durumumda dosya 4 GB'dı ve okunan dosya 64 KB Readfiles uzunluğundaydı ve bunu başarmak için CPU'nun% 35'ini kullandı. Çok üzgün.


Güncelleme 03/23/2016 Bu makinedeki filtre sürücülerine, bunlardan birinin neden olacağına karar verdikten sonra baktım (olay günlüğü mekanizması hiçbir zaman kendi başına bir hata yapamazdı veya bu tür raporların sayısı şaşırtıcı olurdu ve o değil). Bir AV'den ve sanal makine disk performansını artıran tanınmış bir 3. parti şirketten bazı filtre sürücülerini ileriki okumalarla okudum ve baş mimarlarına (çok kibar ve zarif) tüm ürünün aşırı agresif bir şekilde okunup okunmadığını sordum. Güvenlik olay günlüğü (procmon başına açıkça gerçekleşiyordu). Bu, daha küçük güvenlik günlükleri için yararlı olur, ancak burada bildirilen boyutlarda değildir. Söylemesi mümkün değil. AV olabileceğini kabul etti.

Aşağıdaki Azure görevlisine söylediğim gibi, sorun, olay günlüğünü temizledikten sonra tekrar ortaya çıkarsa, orijinal Posterden bir takip alamıyoruz, çünkü bu, performans tekrar tekrar bozulduğundan beri ortak ve yanlış bir çözümdür. Buna "takip etme" denir ve ilk elden ilk posterin çözümünün, sorunu çözdüklerine inanmakla takip etmeyenleri kandırabildiğini görüyorum. Neredeyse ben de kandırılıyordum. Olay günlüğünü temizledim ve performans gelişti - ancak procmon kullandım ve sorunun sorunlu hale gelinceye kadar zamanla yavaşlayıp büyüyeceğini gördüm. Bazı nedenlerden dolayı, Azure üyesi, asıl posterin takip etmediği (beni öldü, işten atıldı, bırakıldı ya da meşgulken) sert bir şekilde eleştirdi. Aşağıdaki Azure üyesi, asıl afişin takip etmediğini düşünüyor, bunun sabit bir sorun olması gerektiğini düşünüyor. Bu sinir bozucu ve şaşkın bir durum çünkü teknik açıdan bu kadar kabul görecek birini bulamayan birini düşünemiyorum. Sinir kırdıysam özür dilerim. Belki de insanları dışarı çağırdığım Internet'teki başka bir yerdeki eylemciliğimde sinirime bıktım - burada (sunucu hatası) Nazik davranıyorum ve derin teknik bilgileri paylaşıyorum ve Sayın Azure'un sonucu teknik katkımın bile olup olmadığı konusunda zorbalık yapıyor gerekli ya da bazı bloglarım için (böyle bir blogum yok). Bu bağlantıyı Microsoft'taki yaklaşık yarım düzine anahtar croniesine göndermeyi ve onlara önemli bir MSFT çalışanından bu tür bir zorbalıkla neler olup bittiğini sorma niyetinde değilim çünkü tek tek ilgi alanımdan en iyi şekilde yararlanmaya odaklanıyorum akılda tutulan topluluk ve Bay Azure’un verdiği yanıtlar, birkaç kelimeyle, inanılmaz, vitriolic. sinir bozucu ve zorbalık - ki bazılarının başkalarına yapmaktan zevk aldığından eminim. Başlangıçta kırıldım ama bittim ve biliyorum ki, pasif ya da aktif okuyucular söylediklerimi takdir edecek ve yorumlarımı takdir edeceklerdir - burada kasten uygunsuz olmasının neden yasal olmadığı için yasal nedenler gözetilmeksizin% 100 arkasındayım. M. Azure, lütfen kibar olun ve yorumlarımı zayıf bir ışık altında bırakmaktan kaçının. Sadece üstesinden gel ve kısıtlama göstermek ve bir daha yorum yapma. lütfen nezaket içinde olun ve yorumlarımı zayıf ışık altında bırakmaktan kaçının. Sadece üstesinden gel ve kısıtlama göstermek ve bir daha yorum yapma. lütfen nezaket içinde olun ve yorumlarımı zayıf ışık altında bırakmaktan kaçının. Sadece üstesinden gel ve kısıtlama göstermek ve bir daha yorum yapma.

Harry


OP ve orijinal soruyu değil, yorum yapan kişilere hitap ediyorsunuz. Ve AV'yi kaldırmak gibi önerilerde bulunuyorsunuz. OP zaten sorunlarını çözdü ve Olay Günlüğü sorunu olarak belirledi. Bunu geçerli bir cevap olarak görmüyorum.
David Makogon

Posterleri ve özetimi dikkatlice okursanız, bu çözülmedi. Sözlerini çok daha dikkatli bir şekilde ayrıştırmak için bu sorundan muzdarip olmalısınız. Bunu yapamadığınız için üzgünüm ve beni çok sert yargılıyorsunuz. Örneğin, OP% 5'lik bir aklı başına döndüğünü, ancak kütüğü temizledikten sonra kolayca geri dönebileceğini ve takip etmediğini söyledi - aslında bu başka bir yorumcunun başına geldi. Bu nedenle, sonuçların kalıcı olarak% 5'te kaldığını doğrulamadığından hiçbir şey çözülmedi.
harry

Üzgünüm Harry - bu bir cevap değil; Buggy yazılımı için hak iddia ediyor ve OP’ye anti-virüs şirketleri ile çalışmasını söylüyorsun Bu, kişisel blogunuz veya bir makale için harika, ancak bir editör, antivirüs ile ilgisi olmayan bir kök nedenle, kabul edilen bir cevabı olan iki yaşındaki bir sorunun cevabı değil.
David Makogon

@ harry şaşırtıcı bir şekilde tekrar tekrar her şeyi anlamaya çalışıyorum :) Ben sistemde hiçbir AV. Birkaç pencere güncellemesi yaptım ve maksimum günlük dosyasını 1 GB'tan 500 MB'a arşive çıkarmak için değiştirdim. 1 GB’de bile 8 ayda bir devrildi, diğer DC'm ise biraz daha fazla yuvarlandı. Günlük dosyasını kesmek için "SC config EventLog Type = own" önerisini takip ettim. Yeniden başlattıktan sonra evenlog işlemi% 1'in altına düşmüştür. Sürece bağlı "dhcp ve lmhosts" da% 1 CPU'nun altında. Sadece saniyede 15 güvenlik olayına kaydoluyordum.
Travis,

Çalıştığım bir SSO ajanı ile çok fazla hata yaptığı için bununla bir ilgisi olduğunu düşündüm, ancak hizmeti devre dışı bırakmak, yeniden başlatma sonrasında bile CPU kullanımında bir düşüşe neden olmadı. SSO ajanı yedeklendi ve CPU hala düşük.
Travis,
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.