
Android Studio가 내 프로젝트를 빌드하면 내 8개 코어를 모두 쉽게 소모합니다. 내 앱이 컴파일되는 동안 인터넷을 유창하게 탐색할 수 있기를 바랍니다. Gradle의 Java 프로세스를 낮은 우선순위(좋은 수준 > 10)로 설정할 수 있는 방법이 있습니까?
그 해결책은 내 젠투 시스템에 완벽하게 작동합니다(niceness 19에서 실행되는 포티지에서는 일반적으로 컴파일하는 동안 내 PC를 사용할 수 있습니다). 최적으로는 Gradle의 Java만 낮은 우선순위로 실행되어야 Android Studio 자체가 응답성을 유지합니다. 이것이 가능하지 않다면 Gradle의 Java VM을 5-7개 코어만 사용하도록 제한하는 것이 더 쉬울까요? 그래도 빌드 시간이 길어질 수 있습니다.
편집하다
나는 이것을 수동으로 조금 실험했습니다. 나는 좋은 수준 15(Windows 사용자의 경우 "우선순위 낮음")를 설정하는 루프에서 스크립트를 실행했습니다.모두매초마다 새로운 Java 프로세스가 생성됩니다. 불행하게도 시스템은 여전히 반응이 좋지 않습니다. 컴파일하는 동안 내 평균 로드가 다음과 같이 증가하는 것을 확인했습니다.이십여기서는 (논리적) 코어가 4개만 있습니다. 이는 Gradle이 너무 많은 스레드를 생성한다는 것을 의미합니다. 다른 곳에서는 이러한 스레드가 거의 생성되지 않는다는 내용을 읽었는데, 이는 우선순위를 낮추는 것이 도움이 되지 않는 이유일 수 있습니다.
따라서 업데이트된 질문은 다음과 같습니다.Gradle에서 사용되는 스레드 수를 제한할 수 있습니까?
답변1
알려진 문제인 것 같습니다. 이 업스트림에 대한 지속적인 논쟁이 있습니다.https://code.google.com/p/android/issues/detail?id=66696
빌드라고 하더군요~해야 한다공유 스레드 풀을 사용하는 경우 크기를 설정하는 매개변수는 -Pandroid.threadPoolSize=<count>
Android Studio 2.3 베타 3에서 사용할 수 있어야 합니다.
답변2
다음 경로로 바로가기를 만드세요.
cmd.exe /c 시작 "Android Studio" /LOW "C:\Program Files\Android\Android Studio\bin\studio64.exe"
아니면 작업 관리자에서 매번 우선순위를 설정하세요. 하지만 저는 이 접근 방식이 더 낫다고 생각합니다. :)