web-dev-qa-db-fra.com

Studio Android utilisant> 100% de CPU en permanence - aucun processus d'arrière-plan ne semble en cours d'exécution

J'ai remarqué qu'Android Studio (lorsqu'il est en cours d'exécution) utilise toujours plus de 100% de la CPU, même s'il semble qu'aucun processus en arrière-plan ne soit en cours d'exécution par le IDE (indexation, etc.). Je soupçonne peut-être que cela était spécifique à ma boîte, mais certains développeurs le rencontrent également.

Souvent, l'utilisation du processeur se situe entre 100 et 200 (voir les captures d'écran ci-dessous). Quelqu'un at-il rencontré cela aussi? Si tel est le cas, existe-t-il des stratégies ou des options dans IDE pour corriger cette utilisation intensive des ressources système?

enter image description here

enter image description here

69
Shaun

J'ai laissé cette question ouverte pendant un certain temps, car des collègues et des affiches ont trouvé de la valeur dans diverses solutions au fil du temps. Pour moi, le simple fait de mettre à jour Android Studio a résolu le problème (après un certain nombre de mois où aucune des solutions décrites ici ne fonctionnait pour moi). 

0
Shaun

Vous pouvez essayer les options suivantes dans le menu Fichier: 

  1. Menu Fichier -> Invalider les caches/redémarrer ... -> Invalider et redémarrer
  2. Activer Mode économie d'énergie en cliquant sur Fichier -> Mode économie d'énergie

Power Save mode uniquement pour désactiver les informations de code et les tâches en arrière-plan.

39
muneikh

Vous pourriez envisager d'accéder à Fichier> Invalider les caches/redémarrer .__

enter image description here

27
k.chao.0424

Merci à Buzzrick (réponse sur cette page, probablement au-dessus de ma réponse), il a parlé de VCS. La désactivation de toutes les opérations d'arrière-plan de VCS semblait avoir un énorme impact sur l'utilisation élevée du processeur - elle était de 150% et elle est maintenant de 20%, plus ou moins.

Je suis sous OS X 

Allez à: Préférences> Contrôle de version> Arrière-plan. La liste suivante figure sous «Opérations en arrière-plan»: 6 options. J'ai désactivé les trois premières options qui sont: 

Effectue la mise à jour sur VCS en arrière-plan, Effectue la validation sur VCS en arrière-plan, Effectue la vérification sur VCS en arrière-plan.

16
Miguel P.

J'ai rencontré une utilisation constante de l'unité centrale sans raison apparente. L'invalidation du cache ne fonctionnait pas, pas plus que le mode d'économie d'énergie.

Dans mon cas, il y avait un problème dans le répertoire '.git' qui faisait échouer le studio Android dans une boucle sans fin. Vérifier à nouveau le repo a résolu le problème.

Mon conseil est de consulter les journaux du studio Android pour vous faire une idée de ce qui le fait ternir. Vous pouvez également le démarrer depuis le terminal et vérifier la sortie Stdout/Stderr.

11
odedfos

Fait intéressant, pour moi, cela semblait être quelque chose à voir avec l'intégration du contrôle de version. 

J'ai résolu ce problème en rechargeant mon projet de studio Android et lorsqu'il m'a demandé de connecter mes liens CVS (je ne me souviens plus du libellé exact), j'ai simplement dit "Ignorer". Après cela, tout s'est déroulé sans à-coups

3
Buzzrick

J'ai activé la fonction d'économie d'énergie dans Android Studio 1.0, mais cela signifiait que je ne pouvais pas accepter autant de fonctionnalités qu'Android Studio pouvait offrir. Ainsi, j'ai cherché une meilleure solution. Il m'arrivait toujours d'avoir une boîte de dialogue qui me demandait d'augmenter ma taille VM. Apparemment, une fois que cela a augmenté, je suis en mesure de désactiver l’économie d’énergie et de faire fonctionner parfaitement mon Android Studio.

Voici comment procéder: Sous Mac OS, accédez à /Applications/Android\ Studio.app/Contents/bin/studio.vmoptions (pour ouvrir le contenu, cliquez avec le bouton droit de la souris sur l'application Android Studio> Afficher le contenu) Vous trouverez les variables suivantes

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

Sous Windows, accédez à Variables d'environnement et recherchez une variable système appelée _Java_OPTIONS.

Augmentez ces chiffres en conséquence.

  • Xmx spécifie le pool d'allocation de mémoire maximum pour une machine virtuelle Java (JVM).
  • Xms spécifie le pool d'allocation de mémoire initial. 

ainsi, votre machine virtuelle Java démarrera avec une quantité de mémoire Xms et pourra utiliser une quantité de mémoire maximale de Xmx.

2
Kennedy Nyaga

J'ai eu exactement le même problème sur Linux. Résolu en augmentant la taille de la mémoire.

Commençons par regarder le top -p <Android studio pid> -H qui indique quels threads utilisent le plus le processeur, il y a trois threads pour moi: 94232,94233,94234. Ensuite, je fais un jstack <pid> pour obtenir le dump de la pile du studio Android, et cherche 0x17018 (= 94232), il s’avère être "Gang worker#0 (Parallel CMD Threads)". Tous les trois. apparemment, la JVM est trop occupée à faire du CPG tout le temps.

Également ouvert jconsole contre mon processus de studio Android et il montre le temps GC "20 minutes" !!! (au bas de l'onglet mémoire)

Le correctif consiste à changer studio.vmoptions (ou studio64.vmoptions dans mon cas), pour augmenter la valeur -Xmx de 750m à 1500m par défaut. C'est suffisant pour moi. si vous avez trop de mémoire, réglez sur 2g, 4g ou 16g.

2
Shawn

Sous Windows, j'ai réduit la priorité du processus studio64.exe et défini l'affinité du processus sur la moitié des cœurs . Ouvrez le Gestionnaire des tâches, cliquez sur l'onglet Processus, cliquez avec le bouton droit sur processus Studio64.exe et vous verrez le résultat dans le menu. .

2
Daniel Nuriyev

J'ai essayé la procédure suivante et Android Studio sur mon Surface Pro 3 accéléré d'un montant insensé:

  1. Réduisez les amount et memory du Android Virtual Devices que vous avez.
  2. Invalidate Caches/Restart
  3. Aller au mode Power Save
  4. Fermez tout unnecessary files that are opened.
  5. Réduisez votre VM Heap Size à environ 256.
1
Henry Zhu

Dans mon cas, j'ai le dossier white-listed d'Android-Studio dans "Eset Smart Security" et le problème est résolu!

j'espère que cela t'aides!

Modifier:

Désactiver HIPS dans Eset settings a également été utile dans ma situation!

0
Nobody8

Sur Android Studio 2.3, cela se produit lorsque la fenêtre "Android Monitor" est ouverte (la fenêtre affiche les messages Logcat des périphériques et des émulateurs), puis vous appuyez sur Ctrl+F (Cmd+F sur le Mac) à affichez la barre de recherche 'Trouver' dans cette fenêtre.

Cela peut également se produire lorsque vous connectez un téléphone Samsung à votre ordinateur via USB, qui est activé en mode développeur, car les téléphones Samsung envoient généralement de grandes quantités de texte de débogage à Logcat chaque seconde, même si la fenêtre Logcat est fermée.

Donc, les solutions pour empêcher l'utilisation à 100% du processeur sont les suivantes:

Désactivez la barre de recherche ou masquez complètement la fenêtre.

ou

Déconnectez un téléphone Samsung qui envoie beaucoup de messages de débogage.

ou

Effectuez une mise à niveau vers Android Studio 3, où ce problème ne survient pas.

0
Mr-IDE