¿Limitar prioridad/hilos para compilaciones de Gradle/Android Studio?

¿Limitar prioridad/hilos para compilaciones de Gradle/Android Studio?

Cuando Android Studio construye mi proyecto, fácilmente consume todos mis 8 núcleos. Me gustaría poder navegar por Internet con fluidez mientras se compila mi aplicación. ¿Hay alguna manera de configurar los procesos Java de Gradle para que tengan una prioridad baja (buen nivel> 10)?

Esa solución funciona perfectamente para mi sistema gentoo (con portage ejecutándose en niceness 19 normalmente puedo usar mi PC mientras se compila). De manera óptima, solo Java de Gradle debería ejecutarse con baja prioridad, por lo que Android Studio sigue respondiendo. Si eso no es posible, ¿tal vez sea más fácil limitar las máquinas virtuales Java de Gradle para que utilicen solo entre 5 y 7 núcleos? Sin embargo, probablemente resultaría en tiempos de construcción más largos.


EDITAR

Experimenté con esto manualmente por un tiempo. Ejecuté un script en un bucle que establece un buen nivel 15 ("prioridad baja" para los usuarios de Windows) paratodoNuevos procesos Java cada segundo. Desafortunadamente, el sistema todavía no responde muy bien. Veo que durante la compilación mi carga promedio sube aveintedonde solo tengo 4 núcleos (lógicos). Esto significa que Gradle genera demasiados hilos. En otro lugar leí que estos hilos rara vez ceden, lo que puede ser la causa por la que reducir la prioridad no ayuda.

Entonces, la pregunta actualizada es:¿Es posible limitar la cantidad de subprocesos utilizados por Gradle?

Respuesta1

Parece un problema conocido, hay un debate en curso sobre esto en sentido ascendente:https://code.google.com/p/android/issues/detail?id=66696

Dicen que la construccióndeberíause un grupo de subprocesos compartido, el parámetro para establecer su tamaño está -Pandroid.threadPoolSize=<count>y debería estar disponible en Android Studio 2.3 beta 3.

Respuesta2

Simplemente cree un acceso directo con la siguiente ruta:

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

O establezca prioridad cada vez en el administrador de tareas, pero creo que este enfoque es mejor :)

información relacionada