ограничить приоритет / темы для сборок Gradle / Android Studio?
1277
quezak
Когда Android Studio собирает мой проект, он легко пожирает все мои 8 ядер. Я хотел бы иметь возможность свободно просматривать Интернет во время компиляции моего приложения. Есть ли способ, которым я могу установить Java-процессы Gradle, чтобы иметь низкий приоритет (хороший уровень> 10)?
Это решение отлично работает для моей системы gentoo (при работе с portage в хорошем состоянии 19 я обычно могу использовать свой ПК во время компиляции). Оптимально, только java Gradle должен работать с низким приоритетом, поэтому сама Android Studio остается отзывчивой. Если это невозможно, может быть, проще ограничить использование Java-виртуальных машин Gradle только 5-7 ядрами? Это, вероятно, приведет к увеличению времени сборки.
РЕДАКТИРОВАТЬ
Я немного поэкспериментировал с этим вручную. Я запустил скрипт в цикле, который устанавливает хороший уровень 15 («низкий приоритет» для пользователей Windows) для всех новых процессов Java каждую секунду. К сожалению, система все еще не очень отзывчива. Я вижу, что во время компиляции моя средняя нагрузка увеличивается до двадцати, где у меня только 4 (логических) ядра. Это означает, что Gradle порождает слишком много потоков. Где-то еще я читал, что эти потоки тоже редко дают результаты, что может быть причиной того, что снижение приоритета не помогает.
Итак, обновленный вопрос: возможно ли ограничить количество потоков, используемых Gradle?
Говорят, что сборка должна использовать общий пул потоков, параметр для установки ее размера есть -Pandroid.threadPoolSize=<count>и должен быть доступен в Android Studio 2.3 beta 3.
Вы можете подвести итог?
bertieb 7 лет назад
0
@bertieb ок, отредактировал ответ. Я еще не тестировал его, так как все еще нахожусь на Studio 2.2, но я смотрю связанный поток для получения дополнительной информации.
quezak 7 лет назад
1
0
Michal
Просто создайте ярлык с помощью следующего пути:
cmd.exe / c запустить «Android Studio» / LOW «C: \ Program Files \ Android \ Android Studio \ bin \ studio64.exe»
Или каждый раз устанавливайте приоритет в диспетчере задач, но я считаю, что такой подход лучше :)
Спасибо за предложение, я попробовал похожие вещи с хорошим уровнем на Linux. В то время как при этом процессы gradle, порожденные Studio, будут иметь более низкий приоритет, поэтому будет иметь сам процесс Studio - так что во время компиляции окно IDE также может не отвечать. После экспериментов кажется, что это все равно не решает проблему, см. Редактирование вопроса.
quezak 8 лет назад
1