항상 100 % 이상의 CPU를 사용하는 Android 스튜디오-실행중인 백그라운드 프로세스가없는 것 같습니다. 수 있지만

IDE가 실행중인 백그라운드 프로세스 (인덱싱 등)가없는 것처럼 보이는 경우에도 Android Studio (실행 중일 때)가 항상 100 % 이상의 CPU를 사용하는 것을 확인했습니다. 나는 이것이 내 상자에만 국한된 것이라고 생각할 수 있지만 일부 동료 개발자들도이 문제를 겪고 있습니다.

종종 CPU 사용량은 100 초 또는 200 초 중반입니다 (아래 스크린 샷 참조). 누구도 이것을 만났습니까? 그렇다면 IDE 내에 이러한 집중적 인 시스템 리소스 사용을 수정하기위한 전략이나 옵션이 있습니까?

여기에 이미지 설명 입력

여기에 이미지 설명 입력



답변

파일 메뉴에서 다음 옵션을 시도 할 수 있습니다.

  1. 파일 메뉴-> 캐시 무효화 / 다시 시작 …-> 무효화 및 다시 시작
  2. 파일-> 절전 모드 를 클릭하여 절전 모드 를 활성화합니다.

절전 모드는 코드 통찰력 및 백그라운드 작업 만 비활성화합니다.


답변

Buzzrick (이 페이지에서 대답, 아마도 내 대답 위에 답변) 덕분에 그는 VCS에 대해 언급했습니다. VCS의 모든 백그라운드 작업을 끄는 것은 높은 CPU 사용량에 큰 영향을 미치는 것처럼 보였습니다. 150 % 였지만 지금은 20 % 정도입니다.

OS X를 사용 중입니다.

이동 : 환경 설정> 버전 관리> 배경. 이제 ‘백그라운드 작업’에 6 가지 옵션이 나열됩니다. 처음 세 가지 옵션을 비활성화했습니다 .

백그라운드에서 VCS 업데이트 수행, 백그라운드에서 VCS 커밋 수행, 백그라운드에서 VCS 체크 아웃 수행


답변

파일> 캐시 무효화 / 다시 시작으로 이동하는 것을 고려할 수 있습니다. 캐시가 백그라운드에서 펑키 한 것을 시작할 수 있습니다.

여기에 이미지 설명 입력


답변

분명한 이유없이 지속적으로 높은 CPU 사용량을 발견했습니다. 캐시 무효화가 작동하지 않았고 절전 모드도 작동하지 않았습니다.

제 경우에는 ‘.git’디렉토리에 문제가있어서 안드로이드 스튜디오가 무한 루프에서 실패했습니다. repo를 다시 확인하면 문제가 해결되었습니다.

내 조언은 안드로이드 스튜디오 로그에서 그것이 흔들리는 원인에 대한 힌트를 확인하는 것입니다. 터미널에서 시작하여 Stdout / Stderr 출력을 확인할 수도 있습니다.


답변

Android Studio 1.0에서 절전 기능을 켰는데 도움이되었지만 Android Studio에서 제공해야하는 많은 기능을 선택 해제했습니다. 따라서 더 나은 솔루션을 찾고자 항상 대화 상자가 팝업되고 VM 크기를 늘리도록 요청했습니다. 분명히 이것을 늘리면 절전 기능을 끄고 Android Studio가 완벽하게 작동하도록 할 수 있습니다.

방법은 다음과 같습니다. Mac OS에서 /Applications/Android\ Studio.app/Contents/bin/studio.vmoptions(콘텐츠를 열려면 Android Studio 앱을 마우스 오른쪽 버튼으로 클릭> 콘텐츠보기)로 이동합니다. 다음 변수를 찾을 수 있습니다.

-Xms128m
-Xmx4096m
-XX:MaxPermSize=1024m
-XX:ReservedCodeCacheSize=200m
-XX:+UseCompressedOops

Windows에서 환경 변수로 이동하여 다음과 같은 시스템 변수를 찾습니다. _JAVA_OPTIONS

그에 따라이 수치를 늘리십시오.

  • Xmx는 JVM (Java Virtual Machine)에 대한 최대 메모리 할당 풀을 지정합니다.
  • Xms는 초기 메모리 할당 풀을 지정합니다.

즉, JVM은 Xms 양의 메모리로 시작되며 최대 Xmx 양의 메모리를 사용할 수 있습니다.


답변

Linux에서 똑같은 문제가 발생했습니다. 메모리 크기를 늘려 해결되었습니다.

top -p <android studio pid> -H어떤 스레드가 대부분의 CPU를 사용 하고 있는지 보여주는 것으로 시작 하여 나에게는 94232,94233,94234의 세 개의 스레드가 있습니다. 그런 다음 jstack <pid>android studio의 스택 덤프를 얻고 0x17018 (= 94232)을 찾으면 "Gang worker#0 (Parallel CMD Threads)". 세 가지 모두. 분명히 JVM은 항상 GC를 수행하는 데 너무 바쁩니다.

또한 내 안드로이드 스튜디오 프로세스에 대해 jconsole을 열었고 GC 시간 ” 20 minutes“을 표시합니다 !!! (메모리 탭 하단)

수정은 -Xmx기본 750m에서 1500m로 값 을 늘리기 위해 studio.vmoptions (또는 내 경우 studio64.vmoptions)를 변경하는 것 입니다. 나에게는 충분합니다. 메모리가 너무 많으면 2g 또는 4g 또는 16g로 설정합니다.


답변

흥미롭게도 이것은 버전 제어 통합과 관련이있는 것처럼 보였습니다.

내 Android 스튜디오 프로젝트를 다시로드하여이 문제를 해결하고 내 CVS 링크 연결에 대해 물었을 때 (정확한 문구가 기억 나지 않음) “무시”라고 말했습니다. 그 후 CPU를 당기지 않고 원활하게 실행