Studio Android używa> 100% procesora przez cały czas - wydaje się, że żadne procesy w tle nie działają

86

Zauważyłem, że Android Studio (gdy działa) przez cały czas zużywa więcej niż 100% procesora, nawet jeśli wydaje się, że nie ma żadnych procesów w tle, które działa IDE (indeksowanie itp.). Mogę podejrzewać, że było to coś specyficznego dla mojego pudełka, ale niektórzy programiści również się z tym spotykają.

Często zdarza się, że użycie procesora jest na wysokim poziomie 100 lub połowie 200 (patrz zrzuty ekranu poniżej). Czy ktoś też się z tym spotkał? Jeśli tak, to czy istnieją jakieś strategie lub opcje w IDE, aby skorygować tak intensywne wykorzystanie zasobów systemowych?

wprowadź opis obrazu tutaj

wprowadź opis obrazu tutaj

Shaun
źródło
6
Mam ten sam problem, także OS X.
slanecek
2
Widziałem to również w systemie Windows 7, zawsze ponad 80 procent użycia procesora.
Matt
4
Osiąga nawet 300% wykorzystania procesora w moich Mavericks. (Android Studio 1.0.1)
neobie
sprawdź, czy ostatnio pobrałeś jakąkolwiek wtyczkę. Ściągnąłem DevEcoplugin i odinstalowywanie, że problem został rozwiązany. Prawdopodobnie wykonywał wiele zadań w tle.
NullByte08

Odpowiedzi:

50

Możesz wypróbować następujące opcje w menu Plik:

  1. Menu Plik -> Unieważnij pamięci podręczne / Uruchom ponownie ... -> Unieważnij i uruchom ponownie
  2. Włącz tryb oszczędzania energii , klikając Plik -> Tryb oszczędzania energii

Tryb oszczędzania energii wyłącza tylko szczegółowe informacje o kodzie i zadania w tle.

muneikh
źródło
4
Doświadczam tego samego problemu z Androidem Studio, ale nie z IntelliJ IDEA 12.1.4. Wydaje się więc, że jest to problem specyficzny dla Android Studio, a nie sam IntelliJ. Problem zaczyna się, gdy rozpoczynam proces kompilacji (używając mavena).
bergvandenp
2
Aktualizacja: To pomaga, ale wydaje się również, że psuje niektóre funkcje IDE (takie jak autouzupełnianie, a niektóre ikony zniknęły, prawdopodobnie brak obsługi git w czasie rzeczywistym?)
Matt
1
W najnowszej wersji Android Studio v5 + funkcja automatycznego uzupełniania działa w trybie oszczędzania energii.
muneikh
1
To sprawia, że ​​wszystko jest lepsze, ale niezbyt praktyczne, ponieważ wyłącza zbyt wiele funkcji, których używam.
idanakav
1
Tryb oszczędzania energii jest nadal dostępny w Android Studio 3.1 i został ulepszony od wcześniejszych wersji.
muneikh
48

Dzięki Buzzrickowi (odpowiedź na tej stronie, prawdopodobnie nad moją odpowiedzią) wspomniał o VCS. Wyłączenie wszystkich operacji VCS w tle wydawało się mieć OGROMNY wpływ na wysokie zużycie procesora - było to 150%, a teraz 20%, mniej więcej.

Jestem na OS X

Przejdź do: Preferencje> Kontrola wersji> Tło. W sekcji „Operacje w tle” znajduje się teraz 6 opcji. Wyłączyłem pierwsze trzy opcje, którymi są:

Wykonaj aktualizację VCS w tle, wykonaj zatwierdzenie do VCS w tle, wykonaj pobranie do VCS w tle.

Miguel P.
źródło
To działało świetnie również w Linuksie (Ubuntu). Właśnie wyłączyłem wszystkie opcje tła VCS i od obciążania procesora, teraz używa go mniej niż 2% według góry. Wielkie dzięki!
Fran Marzoa
3
To była dla mnie OGROMNA poprawa. Pamięć podręczna Invalidate zrobiła tylko tyle, ale nadal regularnie widzę znacznie ponad 100% dla AS i Java (ponad 300% podczas budowania!), A teraz jest to jednocyfrowe w spoczynku. Jestem na AS 3.4.1, fyi.
pdub
Nie mogę znaleźć tego menu „Tło”. Wyszukuję w Ustawieniach, ale się nie pokazuje, ale kiedy wykonuję wyszukiwanie za pomocą klawiszy Shift, widzę je, ale kliknięcie ich nie prowadzi mnie do niczego. Czy to może być wyłączone?
John Ernest Guadalupe
W ustawieniach w sekcji „Kontrola wersji” powinna znajdować się zakładka „Tło”.
Miguel P.
1
Miguel, gdybym nie był żonaty (i facetem), zaoferowałbym twoje ukochane dziecko. Dzięki!
Jason
33

Możesz rozważyć przejście do Plik> Unieważnij pamięć podręczną / Uruchom ponownie Twoja pamięć podręczna może uruchamiać coś dziwnego w tle

wprowadź opis obrazu tutaj

k.chao.0424
źródło
12

Napotkałem stałe, wysokie użycie procesora bez wyraźnego powodu. Unieważnianie pamięci podręcznej nie działało ani nie działał tryb oszczędzania energii.

W moim przypadku coś było nie tak w katalogu „.git”, co powodowało niepowodzenie programu Android Studio w niekończącej się pętli. Ponowne sprawdzenie repozytorium rozwiązało problem.

Radzę sprawdzić dzienniki Android Studio pod kątem wszelkich wskazówek, co powoduje jego usterkę. Możesz także uruchomić go z terminala i sprawdzić wyjście Stdout / Stderr.

odedfos
źródło
Tak było w przypadku mnie. Dodałem alias do konfiguracji git, co uniemożliwiło korzystanie z Android Studio.
McP
2
Dla mnie podobny przypadek. Zatwierdzenie zmienionych plików i wysłanie do repozytorium naprawiło to.
Simas
5

Włączyłem oszczędzanie energii w Android Studio 1.0, co pomogło, ale oznaczało to, że zrezygnowałem z tak wielu funkcji, które ma do zaoferowania Android Studio. Dlatego szukałem lepszego rozwiązania, zdarzało mi się, że zawsze pojawiało się okno dialogowe z prośbą o zwiększenie rozmiaru maszyny wirtualnej. Najwyraźniej gdy to zwiększyłem, jestem w stanie wyłączyć oszczędzanie energii i sprawić, by moje Android Studio działało idealnie.

Oto jak to zrobić: W systemie Mac OS przejdź do /Applications/Android\ Studio.app/Contents/bin/studio.vmoptions(Aby otworzyć zawartość, kliknij prawym przyciskiem myszy aplikację Android Studio> Wyświetl zawartość) Znajdziesz następujące zmienne

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

W systemie Windows przejdź do Zmienne środowiskowe i znajdź zmienną systemową o nazwie _JAVA_OPTIONS

Zwiększ odpowiednio te wartości.

  • Xmx określa maksymalną pulę alokacji pamięci dla wirtualnej maszyny języka Java (JVM).
  • Xms określa początkową pulę alokacji pamięci.

tzn. Twoja maszyna JVM zostanie uruchomiona z ilością pamięci Xms i będzie mogła używać maksymalnie Xmx pamięci.

Kennedy Nyaga
źródło
4

Miałem dokładnie ten sam problem w Linuksie. Rozwiązany przez zwiększenie rozmiaru pamięci.

Zacząłem od przyjrzenia się top -p <android studio pid> -H, które wątki wykorzystują większość procesora, według mnie są trzy wątki: 94232,94233,94234. Następnie robię, jstack <pid>aby uzyskać zrzut stosu Android Studio i szukam 0x17018 (= 94232), okazuje się, że tak "Gang worker#0 (Parallel CMD Threads)". Wszyscy trzej. najwyraźniej JVM jest zbyt zajęty wykonywaniem GC przez cały czas.

Otworzyłem także konsolę Jconsole na moim procesie w Android Studio i pokazuje czas GC " 20 minutes" !!! (na dole zakładki pamięci)

Poprawka polega na zmianie pliku studio.vmoptions (lub studio64.vmoptions w moim przypadku), aby zwiększyć -Xmxwartość z domyślnych 750m do 1500m. To mi wystarcza. jeśli masz za dużo pamięci, ustaw na 2g lub 4g lub 16g.

Shawn
źródło
Dzięki za podpowiedzi dotyczące istnienia jstack. Będąc pierwszym użytkownikiem tego programu, najwyraźniej nie wiem, jak go poprawnie używać, ale widzę, że istnieje wątek VCS w stanie BLOKOWANIE. Nie jestem pewien, czy to jest główna przyczyna, ale wydaje się, że pasuje do niektórych innych opisów tutaj.
Stephan Henningsen,
4

Co ciekawe, dla mnie wydawało się to mieć coś wspólnego z integracją kontroli wersji.

Naprawiłem to, ładując ponownie mój projekt studia Android, a kiedy zapytano o okablowanie moich łączy CVS (nie pamiętam dokładnego sformułowania), po prostu powiedziałem „Ignoruj”. Potem działał płynnie bez ściągania procesora

Buzzrick
źródło
3

Próbowałem następującą procedurę i Android Studiona mój Surface Pro 3przyspieszony przez insane kwoty:

  1. Zmniejsz amountand memoryz tego, Android Virtual Devicesco masz.
  2. Invalidate Caches/Restart
  3. Przejdź do Power Savetrybu
  4. Zamknij wszystko unnecessary files that are opened.
  5. Zmniejsz swoje VM Heap Sizedo około 256.
Henry Zhu
źródło
2

W systemie Windows zmniejszyłem priorytet procesu studio64.exe i ustawiłem koligację procesu na połowę rdzeni. Otwórz Menedżera zadań, kliknij kartę Procesy, kliknij prawym przyciskiem myszy proces studio64.exe, a zobaczysz go w menu.

Daniel Nuriyev
źródło
To ciekawe, jak niektórzy uważają to za przydatne.
Stephan Henningsen
1

Zostawiłem tę kwestię otwartą na chwilę, ponieważ współpracownicy i plakaty z czasem odkryli wartość w różnych rozwiązaniach. Dla mnie zwykła aktualizacja Android Studio rozwiązała problem (po kilku miesiącach, w których żadne z opisanych tutaj rozwiązań nie działało).

Shaun
źródło
4
Korzystam z najnowszej stabilnej wersji Android Studio, 3.2.1 i nadal widzę ten problem.
hansonchris
Wydaje się, że emulator zużywa dużo energii.
DragonFire
0

W Android Studio 2.3 dzieje się tak, gdy otwarte jest okno „Android Monitor” (w oknie są wyświetlane komunikaty Logcat z urządzeń i emulatorów), a następnie naciskasz Ctrl+F( Cmd+Fna Macu), aby wyświetlić pasek wyszukiwania „Znajdź” w tym oknie .

Może się to również zdarzyć po podłączeniu telefonu Samsung do komputera przez USB, który ma włączony tryb programisty, ponieważ telefony Samsung zwykle wysyłają duże ilości tekstu debugowania do Logcat co sekundę, nawet jeśli okno Logcat jest zamknięte.

Tak więc rozwiązania zapobiegające 100% wykorzystaniu procesora to:

Wyłącz pasek wyszukiwania Znajdź lub całkowicie ukryj okno.

lub

Odłącz telefon Samsung, który wysyła wiele wiadomości debugowania.

lub

Uaktualnij do Android Studio 3, gdzie ten błąd nie występuje.

Mr-IDE
źródło
0

W moim przypadku mam white-listedfolder Android-Studio w "Eset Smart Security"i problem został rozwiązany!

mam nadzieję że to pomoże!

Edytować:

Wyłączenie HIPSw Eset settingsbyło również pomocne w mojej sytuacji!

Nikt 8
źródło