“Gecikmeli başlatma”, bir Windows hizmeti için başlangıç ​​türünde ne yapar?


78

Windows hizmeti için bir özellik ayarı için Otomatik ve Otomatik (Gecikmeli Başlatma) arasındaki fark nedir? Yani, hizmetimi bir başkası olarak belirleyerek ne kazanırım ya da kaybederim?

Hizmeti Windows Server 2008 x64'te çalıştırma



Yığın Taşması ile ilgili, detaylı cevaplar: “Otomatik” vs “Otomatik (Gecikmeli başlatma)”
Bacco

Yanıtlar:


91

Olarak gösterilen bir servis Otomatik (Gecikmeli Başlatma) olarak belirlenmiş kısa bir süre sonra tüm başlayacak diğer hizmetler Otomatik başlatıldı. Tecrübelerime göre, bilgisayar önyüklemesinden 1-2 dakika sonra başlatılıyorlar.

Bu ayar, bir makine önyüklendiğinde kaynaklar için "deli saldırının" azaltılmasında en faydalı olanıdır.

Aynı anda 20 servis başlatıldığında, makinenin değerli kaynaklarının (CPU / RAM / Disk / Ağ) dilimleri için rekabet ettiklerinden her birinin daha yavaş başlayacağını unutmayın. Yani, her hizmetin kullanılabilir olması daha uzun sürüyor!

Kritik birkaç hizmetiniz varsa, o zaman bu birkaçını Otomatik olarak ayarlamak ve diğerlerini mümkün olduğu kadar Otomatik olarak ayarlamak isteyebilirsiniz (Gecikmeli Başlatma) . Bu, kritik hizmetlerin biraz daha erken başlamasına (tanımı gereği tamam), kritik hizmetlerin daha fazla kaynağı erken almasını ve daha erken kullanılmasını sağlayacaktır.


39
Gerçekten de, Gecikmeli Başlatma hizmetlerini kullandıktan sonra, 120 saniyelik varsayılan gecikme süresi olan bir işçi iş parçacığını sıraya sokar ve bu, içinde AutoStartDelay değeri ile geçersiz kılınabilir HKLM\SYSTEM\CurrentControlSet\Control. Bu iş parçacığı çalıştığında Gecikmeli Başlatma hizmetleri kullanılır ve SCM yapıldığında SCM olayını bildirir \ BaseNamedObjects \ SC_AutoStartComplete ...
Tamara Wijsman

7
Daha @TomWijsman için, görünüşe göre olabilir bir hizmet bazında hizmet bazında gecikme set bir ekleyerek DWORDiçin HKLM\SYSTEM\CurrentControlSet\services\<service name>\AutoStartDelay.
Stajs

8

Anladığım kadarıyla, hizmeti başlatmadan önce bu sadece bir gecikme.

Windows'un sonraki sürümleri, önyükleme işlemi sırasında birbirlerinin ayaklarının üzerinden geçmediklerinden emin olmak için bunu başlattı (aynı zamanda başlayan bir gazillion işlemine sahip olmak, performans için elverişli değildir).

Bu özelliğin dokümantasyonu, bu şekilde işaretlenen hizmetlerin "önyüklemeden kısa bir süre sonra" başlatılacağını, umarım önyükleme süresi için gereken hizmetlerin bir miktar yerleştiğini belirtir.


0

İşte bir örnek. MySQL veritabanı servisime bağlı bir SonarQube servisi var. Bu yüzden, makine önyüklendiğinde veritabanını açıp çalıştırmak için MySQL hizmetini otomatik olarak ayarlıyorum. SonarQube hizmetine, bağlı olduğu veritabanı hizmetinin başlatılmasından SONRA başladığından emin olmak için otomatik (gecikmeli) başlatmaya ayarlıyorum.

Bu gibi bir bağımlılığınız varsa, bağımlı hizmetlerin doğru sırada başlatıldığından emin olmak için gecikmeli başlangıcı kullanmak yararlı olabilir.


8
Bunun gibi bir bağımlılığınız varsa, bununla baş etmenin doğru yolu, bir hizmeti birkaç dakika beklemek ve başlamayı ümit etmek yerine diğerine bağımlı olacak şekilde açıkça yapılandırmaktır.
Massimo,

Teşekkürler. Belki bunu nasıl yapacağınızı açıklayabilirsiniz? Ve işe yarıyorsa doğru gibi görünüyor. Belki de önerdiğin şey "daha iyi", ki buna katılmıyorum?
Russ Jackson,


0

Bu, WMI servisinin tamamen başlamasına bağlı olarak tamamen başlamasını sağlamak için gecikmeli bir başlangıç ​​yapan SCCM İstemcisi gibi diğer servislerin de tamamen başlamasını sağlamak için bir servisin başlangıcını ertelemek istediğinizde kullanılır. ve koşuyor.


Böyle bir gereksinimin, hizmet yazarı adına bir ihmal işareti olduğunu not edeceğim. Böyle bir sorunu çözmenin doğru yolu açık bir servis bağımlılığı kullanmaktır.
Brian

0

Bu daha çok AD hesaplarıyla başlayan hizmetler için kullanılır. Hizmet, sunucunun DC ile bağlantı kurmak için ağ bağlantısı kurulmadan önce başlamaya çalışıyorsa, başarısız olur ve bazen sistem takılır ve ulaşılamaz duruma gelir.

Gecikme, AD hesabını kullanmak için ağ bağlantısı kurulduğunda hizmetin başlamasını sağlar.

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.