Tôi có một tác vụ theo lịch trình rất tốn CPU và IO, và mất khoảng bốn giờ để chạy (xây dựng mã nguồn, nếu bạn tò mò). Nhiệm vụ này là một kịch bản Powershell, tạo ra các quy trình con khác nhau để thực hiện công việc của nó. Khi tôi chạy cùng một quá trình tương tác từ một dấu nhắc Powershell, như cùng một tài khoản người dùng, nó sẽ chạy trong khoảng hai tiếng rưỡi. Tác vụ đang chạy trên Windows Server 2008 R2.
Những gì tôi muốn biết là tại sao phải mất nhiều thời gian hơn để chạy như một nhiệm vụ theo lịch trình - lâu hơn một giờ. Một điều tôi nhận thấy là bộ lập lịch tác vụ chạy ở mức ưu tiên Dưới-Bình thường, vì vậy khi tác vụ của tôi bắt đầu, nó sẽ kế thừa mức ưu tiên thấp hơn. Tuy nhiên, tôi đã cập nhật tập lệnh để đặt mức ưu tiên của quy trình Powershell trở lại Bình thường và nó vẫn chỉ mất nhiều thời gian.
Bất cứ ai cũng có một ý tưởng những gì có thể khác nhau giữa hai kịch bản? Tôi đã loại trừ sự khác biệt về bộ xử lý và tải IO - nhiệm vụ này là thứ duy nhất mà hệ thống được sử dụng, vì vậy không có gì khác có thể cạnh tranh tài nguyên.