Sự khác biệt giữa Tự động và Tự động (Bắt đầu trễ) đối với cài đặt thuộc tính cho dịch vụ Windows là gì? tức là tôi được hay mất gì bằng cách đặt dịch vụ của mình là cái này hay cái kia?
Chạy dịch vụ trên Windows Server 2008 x64
Sự khác biệt giữa Tự động và Tự động (Bắt đầu trễ) đối với cài đặt thuộc tính cho dịch vụ Windows là gì? tức là tôi được hay mất gì bằng cách đặt dịch vụ của mình là cái này hay cái kia?
Chạy dịch vụ trên Windows Server 2008 x64
Câu trả lời:
Một dịch vụ được đánh dấu là Tự động (Bắt đầu trễ) sẽ bắt đầu ngay sau khi tất cả các dịch vụ khác được chỉ định là Tự động đã được bắt đầu. Theo kinh nghiệm của tôi, điều này có nghĩa là chúng được khởi động 1-2 phút sau khi máy tính khởi động.
Cài đặt này hữu ích nhất trong việc giảm bớt "cơn điên" đối với tài nguyên khi máy khởi động.
Lưu ý rằng khi bạn có 20 dịch vụ được khởi động cùng một lúc, mỗi dịch vụ sẽ khởi động chậm hơn khi nó cạnh tranh với các dịch vụ khác cho các lát tài nguyên quý giá của máy (CPU / RAM / Đĩa / Mạng). Đó là, mỗi dịch vụ mất nhiều thời gian hơn để trở nên có sẵn!
Nếu bạn có một vài dịch vụ quan trọng, thì bạn có thể muốn đặt một vài dịch vụ đó thành Tự động và đặt càng nhiều dịch vụ khác càng tốt thành Tự động (Bắt đầu trễ) . Điều này sẽ đảm bảo rằng các dịch vụ quan trọng nhận được nhiều tài nguyên sớm nhất và có sẵn sớm hơn, trong khi các dịch vụ không quan trọng bắt đầu muộn hơn một chút (theo định nghĩa là ổn).
HKLM\SYSTEM\CurrentControlSet\Control
. Khi luồng hoạt động này chạy các dịch vụ Bắt đầu trễ được xử lý và khi chúng được thực hiện, SCM báo hiệu sự kiện \ BaseNamedObjects \ SC_AutoStartComplete ...
DWORD
cho HKLM\SYSTEM\CurrentControlSet\services\<service name>\AutoStartDelay
.
Theo hiểu biết của tôi, nó chỉ đơn giản là một sự chậm trễ trước khi ra mắt dịch vụ.
Các phiên bản sau này của Windows đã giới thiệu điều này để đảm bảo rằng chúng không vấp phải chân nhau trong quá trình khởi động (có một quá trình đáng kinh ngạc bắt đầu cùng một lúc không có lợi cho hiệu suất).
Tài liệu cho tính năng này nói rằng các dịch vụ được đánh dấu do đó sẽ được bắt đầu "ngay sau khi khởi động", hy vọng một khi các dịch vụ yêu cầu thời gian khởi động đã ổn định một chút.
Đây là một ví dụ. Tôi có một dịch vụ SonarQube phụ thuộc vào dịch vụ cơ sở dữ liệu MySQL của tôi. Vì vậy, tôi đặt dịch vụ MySQL thành tự động để khởi động cơ sở dữ liệu khi máy khởi động. Tôi có dịch vụ SonarQube được đặt thành khởi động tự động (bị trì hoãn) để đảm bảo nó khởi động SAU dịch vụ cơ sở dữ liệu mà nó phụ thuộc khi được khởi động.
Nếu bạn có một sự phụ thuộc như thế này, có thể hữu ích khi sử dụng bắt đầu bị trì hoãn để đảm bảo các dịch vụ phụ thuộc bắt đầu theo đúng thứ tự.
Điều này cũng được sử dụng khi bạn muốn trì hoãn bắt đầu dịch vụ để cho phép các dịch vụ khác bắt đầu hoàn toàn, chẳng hạn như Máy khách SCCM, khởi động chậm để cho phép dịch vụ WMI khởi động hoàn toàn vì nó phụ thuộc hoàn toàn vào dịch vụ và chạy.
Điều này chủ yếu được sử dụng cho các dịch vụ bắt đầu với tài khoản AD. Nếu dịch vụ đang cố khởi động trước khi máy chủ có kết nối mạng để liên lạc với DC, nó sẽ bị lỗi và đôi khi hệ thống bị kẹt và không thể truy cập được.
Sự chậm trễ đảm bảo dịch vụ sẽ bắt đầu khi kết nối mạng được sử dụng để sử dụng tài khoản AD cho nó.