Как я могу программно ограничить использование процессора моей программой до уровня ниже 70%? - PullRequest
44 голосов
/ 13 июня 2009

В последнее время я становлюсь более ориентированным на здоровье, когда создаю свою программу, я заметил, что большинству программ требуется 2 или 3 минуты для выполнения, и когда я проверяю планировщик задач, я вижу, что они потребляют 100% ЦП использование, я могу ограничить это использование программно в коде? Это, безусловно, позволит мне запускать несколько программ одновременно.

Спасибо, Nidhi

Ответы [ 12 ]

0 голосов
/ 14 июня 2009

Я думаю, что вам нужно понять проблему производительности вашего приложения, а не пытаться ограничить использование процессора. Вы можете использовать Visual Studio Profiler, чтобы понять, почему ваше приложение загружает 100% ЦП в течение 2-3 минут. Это должно показать горячую точку в вашем приложении, и тогда вы сможете решить эту проблему.

Если вы в целом спрашиваете, как выполнять регулирование ресурсов в окнах, тогда вы можете посмотреть на объекты «Задача», объекты «Задания» позволяют вам устанавливать ограничения, такие как рабочий набор, приоритет процесса ... и т. Д.

Вы можете ознакомиться с документацией по объектам Job здесь http://msdn.microsoft.com/en-ca/library/ms684161(VS.85).aspx Надеюсь это поможет. Спасибо

0 голосов
/ 13 июня 2009

Если не выполняется никакая другая задача, неправильно ли для вашего приложения использовать всю доступную емкость процессора? Он доступен , как и в , он есть и он может свободно использовать . Так что используйте!

Если вы каким-то образом ограничите использование своей задачи процессором, выполнение займет больше времени. Но это все равно займет столько же циклов ЦП, поэтому вы ничего не получите. Вы просто замедляете свое приложение.

Не делай этого. Даже не пытайся. Там нет причин, почему вы должны.

...