Windows सेवा के लिए स्टार्टअप प्रकार में "देरी शुरू" क्या करता है?


78

Windows सेवा के लिए संपत्ति सेटिंग के लिए स्वचालित और स्वचालित (विलंबित प्रारंभ) के बीच क्या अंतर है? यानी अपनी सेवा को एक या दूसरे के रूप में स्थापित करके मुझे क्या लाभ या हानि होती है?

Windows Server 2008 x64 पर सेवा चलाना



स्टैक ओवरफ्लो पर संबंधित, विस्तृत उत्तर: "स्वचालित" बनाम "स्वचालित (विलंबित शुरुआत)"
Bacco

जवाबों:


91

एक सेवा के रूप में चिह्नित स्वत: (विलंबित प्रारंभ) शीघ्र ही सभी के बाद शुरू कर देंगे अन्य सेवाओं के रूप में नामित स्वत: शुरू कर दिया गया है। मेरे अनुभव में, इसका मतलब है कि उन्हें कंप्यूटर बूट के 1-2 मिनट बाद शुरू किया जाता है।

मशीन बूट करते समय संसाधनों के लिए "पागल भीड़" को कम करने में सेटिंग सबसे उपयोगी है।

ध्यान दें कि जब आपके पास 20 सेवाएं एक ही समय में शुरू हो रही हैं, तो प्रत्येक धीमी हो जाएगी, क्योंकि यह मशीन के कीमती संसाधनों (सीपीयू / रैम / डिस्क / नेटवर्क) के स्लाइस के लिए दूसरों के साथ प्रतिस्पर्धा करती है। अर्थात, प्रत्येक सेवा उपलब्ध होने में अधिक समय लेती है!

यदि आपके पास कुछ सेवाएं हैं जो महत्वपूर्ण हैं, तो आप उन कुछ को स्वचालित रूप से सेट करना चाहते हैं और अन्य को उतने ही सेट कर सकते हैं जितना आप स्वचालित (विलंबित प्रारंभ) में कर सकते हैं । यह सुनिश्चित करेगा कि महत्वपूर्ण सेवाएं सबसे अधिक संसाधन जल्दी प्राप्त करें और जल्द ही उपलब्ध हो जाएं, जबकि गैर-महत्वपूर्ण सेवाएं थोड़ी देर बाद शुरू होती हैं (जो कि परिभाषा के अनुसार ठीक है)।


39
वास्तव में, गैर-विलंबित प्रारंभ सेवाओं को संभालने के बाद, यह एक कार्यकर्ता थ्रेड को कतारबद्ध करेगा जिसमें 120 सेकंड की डिफ़ॉल्ट देरी है, जिसे AutoStartDelay मान द्वारा ओवरराइड किया जा सकता है HKLM\SYSTEM\CurrentControlSet\Control। जब यह काम किया गया थ्रेड चलाता है तो विलंबित प्रारंभ सेवाओं को संभाला जाता है और जब उन्हें SCM किया जाता है, तो वह घटना \ BaseNamedObjects \ SC_AutoStartComplete का संकेत देती है ...
तमारा विजसमैन

7
@TomWijsman लिए इसके अलावा, आप जाहिरा तौर पर कर सकते हैं एक सेवा-दर-सेवा के आधार पर देरी सेट एक जोड़कर DWORDके लिए HKLM\SYSTEM\CurrentControlSet\services\<service name>\AutoStartDelay
स्टैज्स

8

मेरी समझ से, सेवा शुरू करने से पहले बस एक देरी है।

विंडोज के बाद के संस्करणों ने यह सुनिश्चित करने के लिए इसे पेश किया कि वे बूट प्रक्रिया के दौरान एक-दूसरे के पैरों पर यात्रा नहीं करते थे (एक ही समय में शुरू होने वाली गजिलीन प्रक्रिया प्रदर्शन के लिए अनुकूल नहीं है)।

इस सुविधा के लिए दस्तावेज़ में कहा गया है कि इस प्रकार चिह्नित की गई सेवाओं को "बूट के तुरंत बाद" शुरू किया जाएगा, उम्मीद है कि एक बार बूट-टाइम-आवश्यक सेवाओं के थोड़ा नीचे बसने के बाद।


0

यहाँ एक उदाहरण है। मेरे पास एक सोनारक्यूब सेवा है जो मेरी MySQL डेटाबेस सेवा पर निर्भर करती है। इसलिए, मैं मशीन को बूट करने पर डेटाबेस को प्राप्त करने और चलाने के लिए MySQL सेवा को स्वचालित रूप से सेट करता हूं। मेरे पास सोनारक्यूब सेवा को स्वचालित (विलंबित) पर सेट करना शुरू करना है यह सुनिश्चित करना है कि डेटाबेस सेवा शुरू होने के बाद यह शुरू हो जाए।

यदि आपके पास इस तरह की निर्भरता है, तो यह सुनिश्चित करने के लिए विलंबित उपयोग का उपयोग करने में मदद कर सकता है कि यह सुनिश्चित करें कि सही क्रम में निर्भर सेवाएं शुरू हों।


8
यदि आपके पास इस तरह की निर्भरता है, तो इसे संभालने का सही तरीका स्पष्ट रूप से एक सेवा को दूसरे एक पर निर्भर करने के लिए कॉन्फ़िगर करना है, बजाय इसके कि कुछ मिनट प्रतीक्षा करें और उम्मीद करें कि यह शुरू हो गया है।
मासिमो

धन्यवाद। शायद आप समझा सकते हैं कि ऐसा कैसे करें? और, लगता है कि अगर यह काम करता है तो यह सही है। शायद आप जो सलाह देते हैं वह "बेहतर" है, जिससे मैं असहमत नहीं हूं?
रस जैक्सन

1
यहाँ देखें: serverfault.com/questions/24821/...
मैसिमो

0

यह तब भी उपयोग किया जाता है जब आप किसी सेवा की शुरुआत में देरी करना चाहते हैं ताकि अन्य सेवाओं को पूरी तरह से शुरू कर सकें, जैसे कि SCCM क्लाइंट, जो WMI सेवा को पूरी तरह से शुरू करने की अनुमति देने में देरी करता है क्योंकि यह पूरी तरह से निर्भर है। और चल रहा है।


मैं ध्यान दूंगा कि इस तरह की आवश्यकता सेवा लेखक की ओर से लापरवाही का संकेत है। ऐसी समस्या को हल करने का सही तरीका एक स्पष्ट सेवा निर्भरता का उपयोग करना है।
ब्रायन

0

इसका उपयोग ज्यादातर उन सेवाओं के लिए किया जाता है जो AD खातों से शुरू होती हैं। यदि सर्वर DC से संपर्क करने के लिए सर्वर के नेटवर्क कनेक्शन से पहले शुरू करने की कोशिश कर रहा है, तो यह विफल हो जाएगा और कभी-कभी सिस्टम अटक जाता है और पहुंच से बाहर हो जाता है।

एक बार नेटवर्क कनेक्शन चालू हो जाने के बाद सेवा शुरू हो जाएगी, यह सुनिश्चित करने में देरी सुनिश्चित करती है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.