2009-06-30 52 views
3

任何人都可以推薦一種基於當前磁盤使用率甚至CPU使用率來限制應用程序的方式。基於每個磁盤使用率或CPU使用情況的節流應用程序

我正在寫的應用程序掃描硬盤上的文件,並且本身就是相當硬盤密集型的。 任何人都可以推薦一種方法,當磁盤使用率很高時(即用戶自己正在運行非常硬盤或CPU密集型應用程序),我可以降低我的應用程序(或甚至暫停它)?基本上我的應用程序不應該妨礙用戶的生產力。我知道這本身就是一個非常大的研究課題。但我至少需要一些線索,我將如何處理這個問題。

任何形式的幫助是高度讚賞。 :)

謝謝。
Samrat。

回答

1

看看this「我如何以編程方式限制我的程序的CPU使用率低於70%?」)和this「的Win32線程調度#拉里·奧斯特曼答案」

2

Vista has added I/O Prioritization到Windows,所以如果你使用的是平臺,你可以讓O/S負責它。

對於其他操作系統可能會發現I/O延遲,並且如果它超過了某個預定義的閾值,那麼讓磁盤掃描程序稍微休眠一下就行了?

+0

我喜歡這兩個評論。觀察IO隊列。如果它備份太多,睡覺。 – Bengie 2011-02-07 18:59:45

相關問題