2010-03-11 19 views
28

Çok yoğun IO (yüz binlerce dosyayı silme) gerektiren zamanlanmış bir görevim var. Disk alanı nedenlerinden dolayı, bu iş makul şekilde hızlı bir şekilde gerçekleştirilmelidir. Win2k8'de, zamanlanmış görevler her zaman düşük IO önceliğine sahiptir. Sürecin önceliğini yükseltmek IO önceliğini değiştirmedi. Normal bir IO önceliğine sahip olmak için zamanlanmış bir görev almanın bir yolu var mı?Normal önceliğe sahip IO için bir win2k8 zamanlanmış görevi için herhangi bir yolu var mı?

cevap

48
  1. sağ görev tıklayıp görevi ve "ihracat" Create o
  2. Düzenleme Sen <Priority>7</Priority>
  3. Değişim benzer bir satır bulacaksınız
  4. yalnızca verilen task.xml dosya normal öncelikli değer (4-6 arasında). Olası değerlerin bir tablosu: TaskSettings.Priority property
    • Bir 4 değeri, bir etkileşimli işlem olarak aynı G/Ç'ye ve bellek önceliğine sahip olacaktır. 5 ve 6 değerleri, eylemler alanında, başlangıçta görev planlayıcıda
    • oluşturulan görevi silmek, görev planlayıcıda alt bellek öncelik
  5. sahip XML dosyasından görevi ithal edecek
+0

Zamanlanmış bir görevden oluşturulan bir süreç için çalışır, ancak bu işlem tarafından oluşturulan bir süreç (örn. "cmd \ c" kullanarak) aynı önceliği almaz. Nasıl doğurulmuş sürece nasıl getirilir? –

+2

4, "standart" pencere önceliğine eşittir. 5 düşük bellek önceliğine sahiptir (Process Explorer istemleri). – CoolCmd

+0

2008R2'de, bu I/O ve CPU için doğrudur, ancak bellek önceliği için tam olarak doğru gibi görünmüyor (ayrıca @CoolCmd): Testimde, zamanlanmış görev önceliğini 4 olarak ayarlarsam, süreçler (hesaplamalar) alır bellek önceliği 4. Normal etkileşimli görevler bellek önceliği 5'e, normal zamanlanmış görevlere (zamanlanmış görev önceliği 7) sahip bellek önceliği 3'e (tümü İşlem Gezgini'nden okunur) sahiptir. Yani bu hala arasında bir adımdır. Ama bunun yanında: Teşekkürler! – FelixD

İlgili konular