Как контролировать использование процессора приложения в OS X? - PullRequest
0 голосов
/ 05 июня 2009

Я сейчас запускаю приложение, которое, кажется, работает на полную мощность, но хотя вентилятор, кажется, вращается на максимуме, и монитор активности сообщает, что приложение использует 100% процессора Я подозреваю, что самое большее он использует только 100% одного из двух ядер на моей машине.

Как я могу сказать OS X разрешить приложению использовать 100% или столько, сколько позволяет ОС, вычислительной мощности моего компьютера? Я пробовал некоторые терминальные команды, такие как «nice» и «renice», чтобы установить приоритет этого процесса, но все еще не могу заставить его работать на полную мощность.

Я также хотел бы знать, как сделать обратное, установить ограничение использования процессора приложением, например, установить приложение X для запуска на 20%.

Можно ли обойтись без изменения кода приложения?

1 Ответ

3 голосов
/ 05 июня 2009

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

Если ваша программа многопоточная, то возможно выполнение разных потоков на разных ядрах. Это увеличит общее использование процесса и позволит получить цифры, превышающие 100%.

Однако вы не можете заставить машину использовать «всю» доступную вычислительную мощность, но вы можете повлиять на нее приятным образом.

Чтобы уменьшить количество используемого процессора, вы можете использовать команду nice, чтобы понизить приоритет процесса. Если вы root, вы также можете использовать команду nice, чтобы увеличить приоритет вашего процесса

...