Çok CPU ve GÇ yoğun olan ve çalışması yaklaşık dört saat süren (merak ediyorsanız kaynak kod oluşturma) zamanlanmış bir görevim var. Görevi, işini yapmak için çeşitli alt süreçleri ortaya çıkaran bir Powershell betiğidir. Aynı işlemi bir Powershell isteminden etkileşimli olarak çalıştırdığımda, aynı kullanıcı hesabıyla yaklaşık iki buçuk saat içinde çalışıyor. Görev, Windows Server 2008 R2'de çalışıyor.
Bilmek istediğim şey, zamanlanmış bir görev olarak çalışmanın neden bu kadar uzun sürdüğüdür - bir saatten uzun. Fark ettiğim bir şey, görev zamanlayıcısının Normalin Altında önceliğinde çalıştığından, görevim başladığında aynı indirgenmiş önceliği miras alıyor. Ancak, Powershell işlem önceliğini Normal olarak ayarlayacak betiği güncelledim ve hala bu kadar uzun sürüyor.
İki senaryo arasında neyin farklı olabileceği konusunda fikri olan var mı? İşlemci ve IO yükündeki farklılıkları göz ardı ettim - bu görev sistemin kullandığı tek şey, bu nedenle çalışan kaynaklar için rekabet edebilecek başka bir şey yok.