Câu trả lời ngắn gọn là không, bạn không thể trì hoãn một cách đáng tin cậy (và bạn không nên thử), tùy chọn duy nhất / hữu ích tôi tìm thấy là buộc nó chạy đến hoàn thành và không để nó ẩn trong nền.
Nếu bạn cố gắng tiết kiệm một số chu kỳ CPU trên pin (hoặc trong trường hợp của tôi, ngăn máy chủ chạy ngen sau khi đưa nó trở lại dịch vụ theo các bản cập nhật Windows), thì lựa chọn tốt nhất của bạn là buộc ngen tự chạy. Đối với máy tính để bàn, có 2 tùy chọn xuất hiện:
Tạo tệp .bat hoặc .ps1 trên máy tính để bàn của bạn bằng lệnh ngen thích hợp bên dưới - chỉ cần nhấp đúp chuột và đợi ngen đóng trước khi bạn rút phích cắm. Nếu bạn tạo tập lệnh trong thư mục Windows thay vào đó và lối tắt đến tập lệnh trên máy tính để bàn của bạn, bạn cũng có thể sử dụng Command hoặc Powershell Prompt hoặc hộp thoại Run để thực thi nó theo yêu cầu (trước khi bạn rút / sau khi cập nhật).
Một tùy chọn khác nên hoạt động là sử dụng một tác vụ theo lịch trình để thực thi đoạn script trên. Chạy nó khi khởi động, mà không cần người dùng đăng nhập, với tư cách Quản trị viên. Nếu máy tính xách tay của bạn được phép cài đặt bản cập nhật qua đêm và có thể khởi động lại thì nó sẽ hoạt động tốt.
Để chạy ngen, bạn chỉ cần một trong các lệnh sau, sử dụng tùy chọn đầu tiên / phù hợp nhất cho hệ thống của bạn:
.Net 4 hoặc tốt hơn trên 64 bit
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\ngen.exe executeQueuedItems
.Net 4 hoặc tốt hơn trên 32 bit
C:\Windows\Microsoft.NET\Framework\v4.0.30319\ngen.exe executeQueuedItems
.Net 3 trở xuống trên 64 bit
C:\Windows\Microsoft.NET\Framework64\v2.0.50727\ngen.exe executeQueuedItems
.Net 3 hoặc ít hơn trên 32 bit
C:\Windows\Microsoft.NET\Framework\v2.0.50727\ngen.exe executeQueuedItems
Dưới đây là sản lượng tối thiểu bạn nhận được từ ngen khi không có mục nào được xếp hàng:
PS C:\Users\Administrator> C:\Windows\Microsoft.NET\Framework64\v4.0.30319\ngen.exe executeQueuedItems
Microsoft (R) CLR Native Image Generator - Version 4.6.1586.0
Copyright (c) Microsoft Corporation. All rights reserved.
All compilation targets are up to date.
Khi ngen.exe được chạy cùng với executeQueuedItems
nó sẽ buộc nó thực hiện tất cả các tác vụ đang chờ xử lý càng nhanh càng tốt. Thông thường ngen chạy trên một luồng nền ưu tiên thấp (và dường như chỉ bắt đầu ngẫu nhiên), ý tưởng là nó không nên bỏ đói các quá trình khác của CPU - mặc dù điều đó không phải lúc nào cũng hoạt động. Chạy ngen tương tác nhanh hơn để nó chạy trong nền - nhưng nó sẽ ảnh hưởng đến hiệu suất nhiều hơn. Mất bao lâu tùy thuộc vào phần cứng của bạn và số lượng / hình ảnh gốc cần biên dịch lại.