본문으로 바로가기

|상황 

2016.9.22 아래와 같이 업데이트된 후 재시작한 안드로이드 스튜디오에서 발생한 Error 입니다.


'com.android.tools.build:gradle:2.1.X' --> 'com.android.tools.build:gradle:2.2.0'


Event Log 내용

Error!!!! Unable to start the daemon process.

This problem might be caused by incorrect configuration of the daemon.

For example, an unrecognized jvm option is used.

Please refer to the user guide chapter on the daemon at https://docs.gradle.org/2.14.1/userguide/gradle_daemon.html

Please read the following process output to find out more:

-----------------------

Error occurred during initialization of VM[각주:1]

Could not reserve enough space for 1572864KB object heap[각주:2]


해결한 방법은 Event Log 내용에 나온것과 같이, 메모리가 부족하다고 하니 ㅠㅠ... 

메모리 용량을 하향 조정해주면 됩니다!

현재 컴퓨터에 설치된 램(RAM)용량을 비롯해 작동 환경에 비해 많이 버거운 용량(1572864KB)이 자동 설정되었나봅니다.


|방법 

* 할당된 가상 메모리 용량을 재조정해줄 위치는 다음과 같습니다.

: 안드로이드 스튜디오 열기! >>  프로젝트 트리>> Gradle Scripts >> gradle.properties


바로 여기 -> gradle.properties에서 org.gradle.jvmargs 값을 새로 지정해 주었습니다.

변경 전에는Error 내용에서 나온 1572864KB와 같은 값인 1536M로 되어있었습니다(org.gradle.jvmargs=-Xmx1536m).

할당 값을 낮춰 org.gradle.jvmargs=-Xmx512m 로 입력해 주었더니 정상적으로 실행이 되었습니다!


|정리 
위 사진의 위치로 가서 JVM을 위한 가상메모리 할당을 현재 설정보다 낮춰줍니다.
(The size of the space reserved-for JVM- can be specified with the -Xmx option.)

변경전(Error):   org.gradle.jvmargs=-Xmx1536m
변경후(해결!):   org.gradle.jvmargs=-Xmx512m  (etc. -Xmx384m)

마지막으로 [Refresh all Gradle projects] 수행하여 확인합니다.



[참고]

다음 사이트를 참고하시면 궁금증 해결에 도움이 될 것 같습니다.
(링크: Oracle site)

32bit에서 JVM은 이론적으로 최대 4G heap을 차지할 수 있다(실제 물리적 4G RAM이 최대). 하지만 run time에서 실제적으로는 완전 불가능하다(kernel, memory fragmentation, program, swap 공간도 미리 예정되어 있으니까!). 32bit windows system의 평균 최대 사용 가능한 heap size는 1.4G~1.6G(for kernel:2G)다. 앱이 공간을 더 필요로 한다면 64bit를 쓰라고 말하고 있다.




  1. Java Virtual Machine(JVM, VM, Java VM) [본문으로]
  2. Heap Memory for Java http://www.oracle.com/technetwork/java/hotspotfaq-138619.html#gc_heap_32bit [본문으로]