ограничить приоритет/потоки для сборок Gradle/Android Studio?

ограничить приоритет/потоки для сборок Gradle/Android Studio?

Когда Android Studio собирает мой проект, он легко съедает все мои 8 ядер. Я хотел бы иметь возможность свободно просматривать интернет, пока мое приложение компилируется. Есть ли способ установить низкий приоритет для процессов Java Gradle (хороший уровень > 10)?

Это решение отлично работает для моей системы Gentoo (с Portage, работающим на niceness 19, я могу нормально использовать свой ПК, пока он компилируется). Оптимально, чтобы только Java Gradle работал с низким приоритетом, чтобы сама Android Studio оставалась отзывчивой. Если это невозможно, может быть, проще ограничить виртуальные машины Java Gradle, чтобы они использовали только 5-7 ядер? Хотя это, вероятно, приведет к увеличению времени сборки.


РЕДАКТИРОВАТЬ

Я немного поэкспериментировал с этим вручную. Я запустил скрипт в цикле, который устанавливает хороший уровень 15 («низкий приоритет» для пользователей Windows) длявсеnew java обрабатывает каждую секунду. К сожалению, система все еще не очень отзывчива. Я вижу, что во время компиляции моя средняя нагрузка увеличивается додвадцатьгде у меня всего 4 (логических) ядра. Это означает, что Gradle порождает слишком много потоков. Где-то еще я читал, что эти потоки также редко уступают, что может быть причиной того, что понижение приоритета не помогает.

Итак, обновленный вопрос:можно ли ограничить количество потоков, используемых Gradle?

решение1

Похоже, это известная проблема, по этому поводу продолжаются дебаты:https://code.google.com/p/android/issues/detail?id=66696

Они говорят, что сборкадолжениспользуйте общий пул потоков, параметр для задания его размера доступен -Pandroid.threadPoolSize=<count>и должен быть доступен в Android Studio 2.3 beta 3.

решение2

Просто создайте ярлык со следующим путем:

cmd.exe /c start "Android Studio" /LOW "C:\Program Files\Android\Android Studio\bin\studio64.exe"

Или каждый раз устанавливать приоритет в диспетчере задач, но я считаю, что этот подход лучше : )

Связанный контент