Android Studio verwendet zu jeder Zeit> 100% CPU - es scheinen keine Hintergrundprozesse ausgeführt zu werden


86

Ich habe festgestellt, dass Android Studio (beim Ausführen) immer mehr als 100% CPU verwendet, auch wenn es den Anschein hat, dass die IDE keine Hintergrundprozesse ausführt (Indizierung usw.). Ich könnte vermuten, dass dies etwas Spezifisches für meine Box war, aber einige andere Entwickler stoßen auch darauf.

Oft liegt die CPU-Auslastung in den hohen 100ern oder mittleren 200ern (siehe Screenshots unten). Hat das auch jemand erlebt? Wenn ja, gibt es innerhalb der IDE Strategien oder Optionen, um diesen intensiven Einsatz von Systemressourcen zu korrigieren?

Geben Sie hier die Bildbeschreibung ein

Geben Sie hier die Bildbeschreibung ein


6
Ich habe das gleiche Problem, auch OS X.
Slanecek

2
Ich habe dies auch unter Windows 7 gesehen, immer über 80 Prozent CPU-Auslastung.
Matt

4
In meinen Mavericks wird sogar eine CPU-Auslastung von 300% erreicht. (Android Studio 1.0.1)
Neobie

@Shaun bitte akzeptiere die Antwort, je nachdem was dir geholfen hat.
Muneikh

Antworten:


50

Sie können die folgenden Optionen im Menü Datei ausprobieren:

  1. Menü Datei -> Caches ungültig machen / neu starten ... -> Ungültig machen und neu starten
  2. Aktivieren Sie den Energiesparmodus, indem Sie auf Datei -> Energiesparmodus klicken

Im Energiesparmodus werden nur Codeeinblicke und Hintergrundaufgaben deaktiviert.


4
Ich habe das gleiche Problem mit Android Studio, aber nicht mit IntelliJ IDEA 12.1.4. Es scheint also ein Android Studio-spezifisches Problem zu sein, nicht IntelliJ selbst. Das Problem beginnt, wenn ich den Erstellungsprozess starte (mit maven).
Bergvandenp

Bisher hat dies unter Windows geholfen - obwohl ich es nur kurz getestet habe, kann ich nicht sagen, dass ich sicher bin, dass es auf lange Sicht funktionieren wird, und es scheint auch seltsam, dass die IDE ohne "Power Save" übernehmen würde die gesamte CPU ...
Matt

2
Update: Dies hilft, aber es scheint auch einige der Funktionen der IDE zu beeinträchtigen (wie die automatische Vervollständigung, und einige Symbole sind verschwunden, wahrscheinlich keine Echtzeit-Git-Unterstützung?)
Matt

1
Dies macht die Dinge zwar besser, aber nicht wirklich praktisch, da zu viele von mir verwendete Funktionen deaktiviert werden.
Idanakav

1
Der Energiesparmodus ist in Android Studio 3.1 weiterhin verfügbar und wurde seit früheren Versionen verbessert.
Muneikh

44

Dank Buzzrick (auf dieser Seite beantwortet, wahrscheinlich über meiner Antwort) erwähnte er VCS. Das Ausschalten aller Hintergrundvorgänge von VCS schien einen RIESIGEN Einfluss auf die hohe CPU-Auslastung zu haben - es waren 150% und jetzt sind es mehr oder weniger 20%.

Ich bin auf OS X.

Gehen Sie zu: Einstellungen> Versionskontrolle> Hintergrund. Unter "Hintergrundoperationen" sind jetzt 6 Optionen aufgeführt. Ich habe die ersten drei Optionen deaktiviert :

Führen Sie eine Aktualisierung für VCS im Hintergrund durch. Führen Sie eine Festschreibung für VCS im Hintergrund durch. Führen Sie eine Überprüfung für VCS im Hintergrund durch.


Dies hat auch unter Linux (Ubuntu) hervorragend funktioniert. Ich habe gerade alle VCS-Hintergrundoptionen deaktiviert und weil ich die CPU überlastet habe, verbraucht sie laut oben weniger als 2% davon. Vielen Dank!
Fran Marzoa

3
Dies war eine massive Verbesserung für mich. Ungültige Caches haben nur so viel bewirkt, aber ich würde immer noch regelmäßig weit über 100% für AS und Java sehen (über 300% beim Erstellen!), Und jetzt ist es in Ruhe im einstelligen Bereich. Ich bin auf AS 3.4.1, fyi.
pdub

Ich kann dieses "Hintergrund" -Menü nicht finden. Ich führe eine Suche in den Einstellungen durch, die jedoch nicht angezeigt wird. Wenn ich jedoch die Umschalttasten durchsuche, kann ich sie sehen, aber ein Klick darauf führt mich nirgendwo hin. Könnte es deaktiviert sein?
John Ernest Guadalupe

In den Einstellungen sollte unter "Versionskontrolle" eine Registerkarte "Hintergrund" aufgeführt sein.
Miguel P.

Miguel, wenn ich nicht verheiratet wäre (und ein Mann), würde ich anbieten, dein Liebeskind zu haben. Vielen Dank!
Jason

33

Sie könnten in Betracht ziehen, zu Datei> Caches ungültig machen / neu starten zu gehen. Ihr Cache startet möglicherweise etwas Funky im Hintergrund

Geben Sie hier die Bildbeschreibung ein


4
Dieser Rat hat mir in meinem Fall geholfen. Danke dir!
Scrobot

12

Ich bin ohne ersichtlichen Grund auf eine konstant hohe CPU-Auslastung gestoßen. Der ungültige Cache funktionierte nicht und der Energiesparmodus funktionierte nicht.

In meinem Fall stimmte etwas im '.git'-Verzeichnis nicht, was dazu führte, dass Android Studio in einer Endlosschleife fehlschlug. Durch erneutes Auschecken des Repos wurde das Problem behoben.

Mein Rat ist, die Android Studio-Protokolle auf Hinweise zu überprüfen, was dazu führt, dass es ins Stocken gerät. Sie können es auch vom Terminal aus starten und die Stdout / Stderr-Ausgabe überprüfen.


Dies war bei mir der Fall. Ich habe der Git-Konfiguration einen Alias ​​hinzugefügt, der Android Studio unbrauchbar gemacht hat.
McP

2
Ähnliches gilt für mich. Das Festschreiben geänderter Dateien und das Drücken auf das Repo haben das Problem behoben.
Simas

5

Ich habe in Android Studio 1.0 die Energiesparfunktion aktiviert, aber das bedeutete, dass ich mich für so viele Funktionen entschieden habe, die Android Studio zu bieten hat. Daher suchte ich nach einer besseren Lösung. Es wurde immer ein Dialogfeld angezeigt, in dem ich aufgefordert wurde, meine VM-Größe zu erhöhen. Sobald ich dies erhöht habe, kann ich anscheinend den Stromsparmodus ausschalten und mein Android Studio funktioniert einwandfrei.

So geht's: Gehen Sie unter Mac OS zu /Applications/Android\ Studio.app/Contents/bin/studio.vmoptions(Um Inhalte zu öffnen, klicken Sie mit der rechten Maustaste auf Android Studio App> Inhalte anzeigen). Dort finden Sie die folgenden Variablen

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

Gehen Sie unter Windows zu Umgebungsvariablen und suchen Sie eine Systemvariable mit dem Namen _JAVA_OPTIONS

Erhöhen Sie diese Zahlen entsprechend.

  • Xmx gibt den maximalen Speicherzuweisungspool für eine Java Virtual Machine (JVM) an.
  • Xms gibt den anfänglichen Speicherzuweisungspool an.

Das heißt, Ihre JVM wird mit Xms Speicher gestartet und kann maximal Xmx Speicher verwenden.


4

Ich hatte genau das gleiche Problem unter Linux. Gelöst durch Erhöhen der Speichergröße.

Gestartet von an den suchen , top -p <android studio pid> -Hdie zeigt , welche Themen sind die meisten CPU verwenden, mir gibt es drei Themen: 94232,94233,94234. Dann mache ich einen jstack <pid>, um den Stack-Dump von Android Studio zu bekommen, und suche nach 0x17018 (= 94232), es stellt sich heraus, dass es so ist "Gang worker#0 (Parallel CMD Threads)". Alle drei. Anscheinend ist JVM die ganze Zeit zu beschäftigt mit GC.

Auch jconsole gegen meinen Android Studio-Prozess geöffnet und es zeigt GC-Zeit " 20 minutes" !!! (am unteren Rand der Registerkarte Speicher)

Die Korrektur besteht darin, die Datei studio.vmoptions (oder in meinem Fall studio64.vmoptions) zu ändern, um den -XmxWert von standardmäßig 750 m auf 1500 m zu erhöhen . Es reicht mir. Wenn Sie zu viel Speicher haben, stellen Sie 2g oder 4g oder 16g ein.


Vielen Dank für die Hinweise auf die Existenz von jstack. Als erstmaliger Benutzer weiß ich offensichtlich nicht, wie ich es richtig verwenden soll, aber ich kann sehen, dass sich ein VCS-Thread im BLOCKING-Status befindet. Ich bin nicht sicher, ob dies die Hauptursache ist, aber es scheint zu einigen der anderen hier gefundenen Beschreibungen zu passen.
Stephan Henningsen

4

Interessanterweise schien dies für mich etwas mit der Integration der Versionskontrolle zu tun zu haben.

Ich habe dies behoben, indem ich mein Android Studio-Projekt neu geladen habe. Als ich nach der Verkabelung meiner CVS-Links gefragt wurde (ich erinnere mich nicht an den genauen Wortlaut), sagte ich nur "Ignorieren". Danach lief es reibungslos, ohne die CPU zu ziehen


3

Ich habe das folgende Verfahren ausprobiert und Android Studiomich Surface Pro 3um einen wahnsinnigen Betrag beschleunigt:

  1. Reduzieren Sie das amountund memoryvon dem, was Android Virtual DevicesSie haben.
  2. Invalidate Caches/Restart
  3. Gehe zu Power Save Modus
  4. Alle schließen unnecessary files that are opened .
  5. Reduzieren Sie Ihre VM Heap Sizeauf herum 256.

2

Unter Windows habe ich die Prozesspriorität von studio64.exe reduziert und die Prozessaffinität auf die Hälfte der Kerne festgelegt. Öffnen Sie den Task-Manager, klicken Sie auf die Registerkarte Prozesse, klicken Sie mit der rechten Maustaste auf process studio64.exe und Sie sehen es im Menü.


Es ist interessant, wie manche dies für nützlich halten.
Stephan Henningsen

1

Ich habe diese Frage für eine Weile offen gelassen, da Mitarbeiter und Poster hier im Laufe der Zeit in verschiedenen Lösungen Wert gefunden haben. Für mich löste das einfache Aktualisieren von Android Studio das Problem (nach einigen Monaten, in denen keine der hier aufgeführten Lösungen für mich funktionierte).


3
Ich bin auf der neuesten stabilen Version von Android Studio, 3.2.1, und sehe dieses Problem immer noch.
Hansonchris

Der Emulator scheint viel Energie zu verbrauchen.
DragonFire

0

Unter Android Studio 2.3 geschieht dies, wenn das Fenster "Android Monitor" geöffnet ist (das Fenster zeigt Logcat-Nachrichten von Geräten und Emulatoren an) und Sie dann Ctrl+F( Cmd+Fauf dem Mac) drücken , um die Suchleiste "Suchen" in diesem Fenster anzuzeigen .

Dies kann auch passieren, wenn Sie ein Samsung-Telefon über USB mit aktiviertem Entwicklermodus an Ihren Computer anschließen, da Samsung-Telefone normalerweise jede Sekunde große Mengen an Debug-Text an Logcat senden, selbst wenn das Logcat-Fenster geschlossen ist.

Die Lösungen, um die 100% ige CPU-Auslastung zu verhindern, sind:

Deaktivieren Sie die Suchleiste Suchen oder blenden Sie das Fenster vollständig aus.

oder

Trennen Sie ein Samsung-Telefon, das viele Debug-Nachrichten sendet.

oder

Aktualisieren Sie auf Android Studio 3, wo dieser Fehler nicht auftritt.


0

In meinem Fall habe ich white-listedden Ordner von Android-Studio "Eset Smart Security"und das Problem ist gelöst!

hoffe das hilft!

Bearbeiten:

Die Deaktivierung HIPSin Eset settingswar auch hilfreich in meiner Situation!

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.