Studio Android che utilizza sempre> 100% di CPU: non sembra che siano in esecuzione processi in background


86

Ho notato che Android Studio (durante l'esecuzione) utilizza sempre una CPU superiore al 100%, anche quando sembra che non ci siano processi in background in esecuzione sull'IDE (indicizzazione, ecc.). Potrei sospettare che fosse qualcosa di specifico per la mia scatola, ma anche alcuni altri sviluppatori lo stanno riscontrando.

Spesso l'utilizzo della CPU è tra i 100 o i 200 (vedere le schermate di seguito). Qualcuno ha riscontrato anche questo? In caso affermativo, esistono strategie o opzioni all'interno dell'IDE per correggere questo uso intensivo delle risorse di sistema?

inserisci qui la descrizione dell'immagine

inserisci qui la descrizione dell'immagine


6
Ho lo stesso problema, anche OS X.
slanecek

2
L'ho visto anche su Windows 7, utilizzo della CPU sempre superiore all'80%.
Matt

4
Raggiunge anche il 300% di utilizzo della CPU nei miei Mavericks. (Android Studio 1.0.1)
neobie

controlla se hai scaricato qualche plugin di recente. Ho scaricato il DevEcoplugin e la disinstallazione ha risolto il problema. Probabilmente stava svolgendo molte attività in background.
NullByte08

Risposte:


50

Puoi provare le seguenti opzioni nel menu File:

  1. Menu File -> Invalidate Caches / Restart ... -> Invalidate and Restart
  2. Abilita la modalità di risparmio energetico facendo clic su File -> Modalità di risparmio energetico

La modalità di risparmio energetico disabilita solo le informazioni sul codice e le attività in background.


4
Sto sperimentando lo stesso problema con Android Studio, ma non con IntelliJ IDEA 12.1.4. Quindi sembra essere un problema specifico di Android Studio, non IntelliJ stesso. Il problema inizia quando avvio il processo di compilazione (usando Maven).
bergvandenp

2
Aggiornamento: questo aiuta, ma sembra anche paralizzare alcune delle funzionalità dell'IDE (come il completamento automatico e alcune icone sono scomparse, probabilmente nessun supporto git in tempo reale?)
Matt

1
Con la versione recente di Android Studio v5 +, il completamento automatico funziona in modalità Risparmio energetico.
muneikh

1
Questo migliora le cose, ma non è molto pratico in quanto disabilita troppe funzionalità che uso.
idanakav

1
La modalità di risparmio energetico è ancora disponibile in Android Studio 3.1 ed è stata migliorata rispetto alle versioni precedenti.
muneikh

48

Grazie a Buzzrick (risposta su questa pagina, probabilmente sopra la mia risposta), ha parlato di VCS. La disattivazione di tutte le operazioni in background di VCS sembrava avere un enorme impatto sull'elevato utilizzo della CPU: era del 150% e ora è del 20%, più o meno.

Sono su OS X

Vai a: Preferenze> Controllo versione> Sfondo. Ora elencate in "Operazioni in background" ci sono 6 opzioni. Ho disabilitato le prime tre opzioni che sono:

Esegui l'aggiornamento su VCS in background, Esegui commit su VCS in background, Esegui checkout su VCS in background.


Questo ha funzionato benissimo anche per me su Linux (Ubuntu). Ho appena disabilitato tutte le opzioni di sfondo di VCS e dal monopolizzare la CPU, ora ne utilizza meno del 2% secondo top. Tante grazie!
Fran Marzoa

3
Questo è stato un enorme miglioramento per me. Le cache invalide hanno fatto solo così tanto, ma vedrei comunque regolarmente oltre il 100% per AS e java (oltre il 300% durante la creazione!), E ora è nelle singole cifre a riposo. Sono su AS 3.4.1, fyi.
pdub

Non riesco a trovare questo menu "Sfondo". Eseguo una ricerca nelle Impostazioni ma non viene visualizzato, ma quando eseguo una Ricerca tutto tramite i tasti Maiusc posso vederli, ma cliccarci sopra non mi porta da nessuna parte. Potrebbe essere disabilitato?
John Ernest Guadalupe

Dovrebbe essere presente una scheda "Sfondo" elencata in "Controllo versione" nelle impostazioni.
Miguel P.

Miguel, se non fossi sposato (e un ragazzo) mi offrirei di avere il tuo figlio amato. Grazie!
Jason

33

Potresti considerare di andare su File> Invalida cache / Riavvia La tua cache potrebbe dare il via a qualcosa di strano in background

inserisci qui la descrizione dell'immagine


12

Ho riscontrato un utilizzo elevato della CPU senza motivo apparente. L'invalidazione della cache non ha funzionato né la modalità di risparmio energetico.

Nel mio caso c'era qualcosa di sbagliato nella directory ".git" che causava il fallimento di Android Studio in un ciclo infinito. Il controllo del repository di nuovo ha risolto il problema.

Il mio consiglio è di controllare i log di Android Studio per eventuali suggerimenti su ciò che lo sta causando vacillamento. Potresti anche avviarlo dal terminale e controllare l'output Stdout / Stderr.


Questo è stato il caso per me. Ho aggiunto un alias a git config che ha reso inutilizzabile Android Studio.
McP

2
Caso simile per me. Il commit dei file modificati e il push nel repository lo hanno risolto.
Simas

5

Ho attivato il risparmio energetico in Android Studio 1.0, mi ha aiutato, ma questo significa che ho rinunciato a così tante funzionalità che Android Studio ha da offrire. Così ho cercato di trovare una soluzione migliore, mi è capitato di avere sempre una finestra di dialogo che si apriva e mi chiedeva di aumentare le dimensioni della mia VM. Apparentemente una volta aumentato questo valore, sono in grado di disattivare il risparmio energetico e far funzionare perfettamente il mio Android Studio.

Ecco come farlo: Su Mac OS vai a /Applications/Android\ Studio.app/Contents/bin/studio.vmoptions(Per aprire i contenuti fai clic con il tasto destro sull'app Android Studio> Visualizza contenuti) Troverai le seguenti variabili

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

Su Windows vai su Variabili d'ambiente e trova una variabile di sistema chiamata _JAVA_OPTIONS

Aumentare queste cifre di conseguenza.

  • Xmx specifica il lotto massimo di allocazione della memoria per una JVM (Java Virtual Machine).
  • Xms specifica il pool di allocazione della memoria iniziale.

cioè la tua JVM verrà avviata con una quantità di memoria Xms e sarà in grado di utilizzare una quantità massima di memoria Xmx.


4

Ho avuto esattamente lo stesso problema su Linux. Risolto aumentando la dimensione della memoria.

Iniziato guardando il top -p <android studio pid> -Hquale mostra quali thread utilizzano la maggior parte della CPU, per me ci sono tre thread: 94232,94233,94234. Quindi jstack <pid>eseguo un per ottenere il dump dello stack di Android Studio e cerco 0x17018 (= 94232), risulta essere"Gang worker#0 (Parallel CMD Threads)" . Tutti e tre. a quanto pare JVM è troppo impegnato a fare GC tutto il tempo.

Ho anche aperto jconsole contro il mio processo di studio Android e mostra l'ora GC "20 minutes " !!! (nella parte inferiore della scheda della memoria)

La correzione è cambiare studio.vmoptions (o studio64.vmoptions nel mio caso), per aumentare il -Xmxvalore da 750m a 1500m di default. È sufficiente per me. se hai troppa memoria, imposta 2g o 4g o 16g ..


Grazie per i suggerimenti sull'esistenza di jstack. Essendo un utente per la prima volta di questo, ovviamente non so come usarlo correttamente, ma posso vedere che c'è un thread VCS in stato BLOCKING. Non sono sicuro che questa sia la causa principale, ma sembra adattarsi ad alcune delle altre descrizioni trovate qui.
Stephan Henningsen

4

È interessante notare che per me questo sembrava avere qualcosa a che fare con l'integrazione del controllo di versione.

Ho risolto il problema ricaricando il mio progetto di studio Android e quando mi ha chiesto di collegare i miei collegamenti CVS (non ricordo il testo esatto), ho semplicemente detto "Ignora". Dopodiché ha funzionato senza problemi senza tirare la CPU


3

Ho provato la seguente procedura e Android Studiosul mio Surface Pro 3accelerato di una quantità folle:

  1. Riduci il amounte memorydel Android Virtual Devicesche hai.
  2. Invalidate Caches/Restart
  3. Vai a Power Save Modalità
  4. Chiudi tutto unnecessary files that are opened .
  5. Riduci il tuo VM Heap Sizea intorno 256.

2

Su Windows ho ridotto la priorità del processo studio64.exe e ho impostato l'affinità del processo a metà dei core. Apri Task Manager, fai clic sulla scheda Processi, fai clic con il pulsante destro del mouse su process studio64.exe e lo vedrai nel menu.


È interessante come alcuni lo considerino utile.
Stephan Henningsen

1

Ho lasciato questa domanda aperta per un po 'poiché colleghi e poster qui hanno trovato valore in varie soluzioni nel tempo. Per quanto mi riguarda, il semplice aggiornamento di Android Studio ha risolto il problema (dopo alcuni mesi in cui nessuna delle soluzioni qui ha funzionato per me).


4
Sono sull'ultima versione stabile di Android Studio, 3.2.1, e vedo ancora questo problema.
hansonchris

L'emulatore sembra utilizzare molta energia.
DragonFire

0

Su Android Studio 2.3, questo accade quando la finestra "Monitor Android" è aperta (la finestra mostra i messaggi di Logcat da dispositivi ed emulatori), quindi premi Ctrl+F( Cmd+Fsu Mac) per rivelare la barra di ricerca "Trova" all'interno di questa finestra .

Può anche accadere quando si collega un telefono Samsung al computer tramite USB, che ha la modalità sviluppatore abilitata, perché i telefoni Samsung di solito inviano grandi quantità di testo di debug a Logcat ogni secondo, anche se la finestra di Logcat è chiusa.

Quindi le soluzioni per impedire l'utilizzo del 100% della CPU sono:

Disattiva la barra di ricerca Trova o nascondi completamente la finestra.

o

Disconnetti un telefono Samsung che sta inviando molti messaggi di debug.

o

Esegui l'upgrade ad Android Studio 3, dove questo bug non si verifica.


0

Nel mio caso ho white-listedla cartella di Android-Studio "Eset Smart Security"e il problema è stato risolto!

spero che sia di aiuto!

Modificare:

La disattivazione HIPSin Eset settingsè stato utile anche per la mia situazione!

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.