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


87

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

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

여기에 이미지 설명 입력

여기에 이미지 설명 입력


6
저도 같은 문제도 OS X에있어
slanecek

2
Windows 7에서도 항상 CPU 사용량이 80 % 이상인 것을 확인했습니다.
Matt

4
내 Mavericks에서 300 % CPU 사용량에 도달했습니다. (Android Studio 1.0.1)
neobie 2014

최근에 플러그인을 다운로드했는지 확인하십시오. DevEco플러그인을 다운로드 하고 제거하여 문제를 해결했습니다. 아마도 많은 백그라운드 작업을 수행하고 있었을 것입니다.
NullByte08

답변:


50

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

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

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


4
Android Studio에서 동일한 문제가 발생하지만 IntelliJ IDEA 12.1.4에서는 발생하지 않습니다. 따라서 IntelliJ 자체가 아닌 Android Studio 특정 문제인 것 같습니다. 문제는 빌드 프로세스를 시작할 때 시작됩니다 (maven 사용).
bergvandenp 2013

2
업데이트 : 이것은 도움이되지만 IDE의 일부 기능 (예 : 자동 완성 및 일부 아이콘이 사라 졌음, 아마도 실시간 git 지원이 아님)을 손상시키는 것 같습니다.
Matt

1
최신 버전의 Android Studio v5 +에서는 자동 완성이 절전 모드에서 작동합니다.
muneikh

1
이것은 일을 더 좋게 만들지 만 내가 사용하는 너무 많은 기능을 비활성화하므로 실제로 실용적이지는 않습니다.
idanakav

1
절전 모드는 Android Studio 3.1에서 계속 사용할 수 있으며 이전 버전부터 개선되었습니다.
muneikh

49

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

OS X를 사용 중입니다.

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

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


이것은 Linux (Ubuntu)에서도 잘 작동했습니다. 방금 모든 VCS 백그라운드 옵션을 비활성화하고 CPU를 끌어 당기는 것으로부터 이제는 상단에 따라 2 % 미만을 사용하고 있습니다. 정말 감사합니다!
Fran Marzoa

3
이것은 저에게 엄청난 개선이었습니다. 무효화 캐시는 그다지 많은 작업을 수행했지만 AS 및 Java의 경우 100 % 이상 (빌드 할 때 300 % 이상!)을 정기적으로 볼 수 있으며 이제는 한 자리 숫자로 표시됩니다. 나는 AS 3.4.1, fyi에 있습니다.
pdub

이 "배경"메뉴를 찾을 수없는 것 같습니다. 설정에서 검색을 수행했지만 표시되지 않지만 Shift 키를 통해 모두 검색을 수행하면 볼 수 있지만 클릭하면 아무데도 연결되지 않습니다. 비활성화 할 수 있습니까?
John Ernest Guadalupe

설정의 '버전 관리'아래에 '배경'탭이 있어야합니다.
Miguel P.

1
미구엘, 내가 결혼하지 않았다면 (그리고 남자) 나는 당신의 사랑하는 아이를 갖겠다 고 제안 할 것입니다. 감사!
Jason

33

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

여기에 이미지 설명 입력


12

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

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

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


이것이 저의 경우였습니다. Android Studio를 사용할 수 없게 만든 git 구성에 별칭을 추가했습니다.
McP 2015

2
저에게도 비슷한 경우입니다. 변경된 파일을 커밋하고 리포지토리에 푸시하면 문제가 해결되었습니다.
Simas

5

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 양의 메모리를 사용할 수 있습니다.


4

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로 설정합니다.


의 존재에 대한 힌트를 주셔서 감사합니다 jstack. 처음 사용하기 때문에 제대로 사용하는 방법을 모르지만 BLOCKING 상태에 VCS 스레드가 있음을 알 수 있습니다. 이것이 근본 원인인지 확실하지 않지만 여기에있는 다른 설명 중 일부와 일치하는 것 같습니다.
Stephan Henningsen

4

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

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


3

나는 다음과 같은 절차를 시도하고 Android Studio내에 Surface Pro 3미친 양에 의해 가속화 :

  1. 절감 amountmemory의에게 Android Virtual Devices, 당신은.
  2. Invalidate Caches/Restart
  3. Power Save모드로 이동
  4. 모든 unnecessary files that are opened.
  5. 당신 VM Heap Size을 주위로 줄이십시오 256.

2

Windows에서는 studio64.exe 프로세스 우선 순위를 낮추고 프로세스의 선호도를 코어의 절반으로 설정했습니다. 작업 관리자를 열고 프로세스 탭을 클릭 한 다음 프로세스 studio64.exe를 마우스 오른쪽 버튼으로 클릭하면 메뉴에 표시됩니다.


일부 사람들이 이것을 유용하다고 생각하는 것은 흥미 롭습니다.
Stephan Henningsen

1

여기의 동료와 포스터가 시간이 지남에 따라 다양한 솔루션에서 가치를 발견함에 따라이 질문을 잠시 열어 두었습니다. 나 자신을 위해 단순히 Android Studio를 업데이트하면 문제가 해결되었습니다 (여기에있는 솔루션 중 어느 것도 저에게 효과가 없었던 몇 달 후).


4
Android Studio 3.2.1의 최신 안정 버전을 사용 중이며 여전히이 문제가 보입니다.
hansonchris

에뮬레이터는 많은 에너지를 사용하는 것 같습니다.
DragonFire

0

Android Studio 2.3에서는 'Android Monitor' 창이 열려 있을 때 (창에 기기 및 에뮬레이터의 Logcat 메시지가 표시됨)이 문제가 발생하고 Ctrl+F( Cmd+FMac의 경우) 키를 눌러이 창 안에 '찾기'검색 창을 표시 합니다.

또한 개발자 모드가 활성화 된 USB를 통해 삼성 휴대폰을 컴퓨터에 연결할 때도 발생할 수 있습니다. 삼성 휴대폰은 일반적으로 Logcat 창이 닫혀 있어도 초당 대량의 디버그 텍스트를 Logcat에 전송하기 때문입니다.

따라서 100 % CPU 사용을 방지하는 솔루션은 다음과 같습니다.

찾기 검색 창을 끄거나 창을 완전히 숨 깁니다.

또는

많은 디버그 메시지를 보내는 삼성 전화를 분리하십시오.

또는

이 버그가 발생하지 않는 Android Studio 3로 업그레이드하세요.


0

제 경우에는 white-listedAndroid-Studio의 폴더가 "Eset Smart Security"있고 문제가 해결되었습니다!

도움이 되었기를 바랍니다!

편집하다:

비활성화 HIPS하는 Eset settings것도 내 상황에서 도움이되었습니다!

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.