как контролировать использование процессора приложением в OS X?

StackOverflow https://stackoverflow.com/questions/954688

  •  11-09-2019
  •  | 
  •  

Вопрос

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

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

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

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

Это было полезно?

Решение

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

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top