Android Studio - Comment augmenter la taille de tas allouée

118

J'utilise Android Studio depuis 3 mois maintenant et l'une des applications sur lesquelles j'ai commencé est devenue assez volumineuse. L'utilisation de la mémoire indiquée en bas à droite du programme indique que mon tas alloué est maximum à 494M.

entrez la description de l'image ici

Lorsque je commence à changer les fichiers XML, mon utilisation de la mémoire atteint rapidement ce plafond et l'EDI plante avec une erreur Out Of Memory comme celle-ci.

entrez la description de l'image ici

J'ai essayé d'augmenter la taille du tas en utilisant ceci mais jusqu'à présent il n'y a eu aucun effet.

J'ai regardé des dizaines d'articles et d'autres questions sur la façon d'augmenter la taille du tas, mais aucune de leurs réponses ne fonctionne. Peu importe ce que je fais aux VMOPTIONS ou aux paramètres IDE, la taille du tas n'augmente jamais. Je crois que je modifie le fichier correct pour les VMOPTIONS parce que si je lui donne volontairement une commande invalide, Android Studio s'en plaint et ne démarre pas.

J'utilise Windows 7 - 64 bits et j'ai 16 Go de RAM. Quelqu'un d'autre a-t-il eu ce problème avec Android Studio? Et avez-vous pu le réparer?

zafrani
la source
Voir la réponse de @ moxi ci-dessous pour obtenir les informations les plus récentes sur la configuration des paramètres spécifiques à l'utilisateur pour la mémoire et le studio JVM startup stackoverflow.com/a/29057416/396005
Bron Davies
1
Mise à jour de la documentation Android Studio: developer.android.com/studio/intro/…
Morrison Chang

Réponses:

136

-------ÉDITER--------

Android Studio 2.0 et supérieur, vous pouvez créer / modifier ce fichier en accédant à «Modifier les options de VM personnalisées» dans le menu Aide.

------- RÉPONSE ORIGINALE --------

Ouvrir le fichier situé à

/Applications/Android\ Studio.app/Contents/bin/studio.vmoptions

Changer le contenu en

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

Xmxspécifie le pool d'allocation de mémoire maximal pour une machine virtuelle Java (JVM), tandis que Xmsspécifie le pool d'allocation de mémoire initial. Votre JVM démarrera avec une Xmsquantité de mémoire et pourra utiliser un maximum deXmx quantité de mémoire.

Sauver le studio.vmoptions fichier et redémarrez Android Studio.

Plus à ce poste .

Remarque:

Si vous avez modifié la taille du tas pour l'EDI, vous devez redémarrer Android Studio avant que les nouveaux paramètres de mémoire ne soient appliqués. ( source )

Wesley
la source
Cela a résolu un problème pour moi sur un très grand projet où Android Studio manquerait de mémoire après 15 minutes lors de la création de la carte des symboles. J'ai changé Xms en 1024m et Xmx en 4096 et la carte de symboles a été construite en moins de 30 secondes - donc le ramasse-miettes doit avoir été en train de se débattre depuis longtemps.
RikMaxSpeed
10
Comme indiqué par Lord Flash: Depuis Android Studio 2.0, vous pouvez créer / modifier ce fichier en accédant à «Modifier les options de VM personnalisées» dans le menu Aide.
Lasse Magnussen
Thx, c'est très utile. Pour info, si vous utilisez la version 64bits, le fichier à éditer est nommé studio64.exe.vmoptions.
Eselfar du
50

J'ai regardé mes variables d'environnement et j'ai appelé une variable système _JAVA_OPTIONSavec la valeur -Xms256m -Xmx512m, après l'avoir modifiée en -Xms256m -Xmx1024mla taille maximale du tas augmentée en conséquence.

zafrani
la source
9
Il n'y avait aucune variable système appelée _JAVA_OPTIONS. mais j'ai créé manuellement un nouveau et cela fonctionne très bien. merci.
Yasir Ali le
Bon, ça marche! Je me demande si augmenter la taille du tas est une bonne chose ... Je veux dire, cela fonctionne et dans certains cas, c'est sûrement la bonne façon, mais est-ce toujours la bonne? Ou peut-il y avoir de meilleures solutions? Merci!
Marino
ce problème est-il également dû à la taille du tas stackoverflow.com/questions/29148374/…
Sagar Devanga
Cela n'a pas fonctionné pour moi non plus, mais il s'avère qu'Android Studio a laissé certains processus Java suspendus aux exécutions précédentes, et ils utilisaient tous évidemment encore beaucoup de mémoire.
alex.magellan
48

Vous pouvez également accéder à votre android-studio\bindossier et modifier ces valeurs -Xmx et -Xms dans studio.exe.vmoptionsou des studio64.exe.vmoptionsfichiers (en fonction de la version que vous utilisez).

croco
la source
2
Cela n'a pas fonctionné pour moi car la variable _JAVA_OPTIONS était utilisée comme valeur par défaut.
zafrani
Changement des deux options (vmoptions et _JAVA_OPTIONS) mais j'ai toujours l'erreur
Raphael Royer-Rivard
Si vous saisissez volontairement une erreur de syntaxe dans les vmoptions, le programme plante-t-il lorsque vous le redémarrez?
zafrani
Je ne suis pas sûr, mais je ne pense pas que cela devrait. Aussi, puis-je vous demander pourquoi saisissez-vous volontairement une erreur de syntaxe dans vmoptions?
croc
32

J'ai augmenté ma mémoire suite à la prochaine documentation Google:

http://tools.android.com/tech-docs/configuration

Par défaut, Android Studio est attribué à un maximum de 750 Mo, je suis passé à 2048 Mo.

J'ai essayé ce que google a décrit, mais pour moi, la seule chose qui fonctionnait était d'utiliser une variable d'environnement. Je vais décrire ce que j'ai fait:

J'ai d'abord créé un répertoire que j'ai appelé .AndroidStudioSettings,

  • mkdir .AndroidStudioSettings

Ensuite, j'ai créé un fichier appelé studio.vmoptions, et j'ai mis dans ce fichier le contenu suivant:

-Xms256m 
-Xmx2048m 
-XX:MaxPermSize=512m 
-XX:ReservedCodeCacheSize=128m 
-XX:+UseCompressedOops 

Ensuite, j'ai ajouté les variables d'environnement STUDIO_VM_OPTIONS dans mon fichier .profile:

  • export STUDIO_VM_OPTIONS=/Users/youruser/.AndroidStudioSettings/studio.vmoptions

Puis je recharge mon .profile:

  • source ~/.profile

Et enfin j'ouvre Android Studio:

  • open /Applications/Android\ Studio.app

Et maintenant, comme vous pouvez le voir en utilisant la barre d'état , j'ai plus de 2000 Mo disponibles pour Android Studio:

entrez la description de l'image ici

Vous pouvez personnaliser vos valeurs en fonction de vos besoins dans mon cas, 2048 Mo suffisent.

MISE À JOUR: Android Studio 2.0 vous permet de modifier ce fichier en accédant à "Modifier les options de VM personnalisées" depuis le menu Aide, il suffit de copier et coller les variables que vous voudrez peut-être conserver afin de l'augmenter pour toujours la version que vous pourriez avoir sur votre boîte.

moxi
la source
Cette solution ne fonctionnerait-elle pas uniquement lors de l'ouverture d'AS à partir du shell?
guy.gc
Où tapez-vous les commandes telles que export STUDIO_VM_OPTIONS=/Users/youruser/.AndroidStudioSettings/studio.vmoptionsdans le terminal?
COYG
31

Vous ne devez modifier aucun fichier dans le répertoire d'installation de l'EDI. Au lieu de cela, vous pouvez personnaliser les attributs en créant vos propres fichiers .properties ou .vmoptions dans les répertoires suivants. (Cela était possible sur certaines plates-formes auparavant, mais cela vous obligeait à copier et à modifier tout le contenu des fichiers. Avec les dernières modifications, ces propriétés sont désormais additives, de sorte que vous pouvez définir uniquement les attributs qui vous intéressent, et le reste utilisera les valeurs par défaut de l'installation IDE).

Remarque: à partir d'Android Studio 2.0, vous pouvez créer / modifier ce fichier en accédant au fichier «Modifier les options de VM personnalisées» à partir du menu Aide.

http://tools.android.com/tech-docs/configuration

entrez la description de l'image ici

Tobias
la source
12

Si vous utilisez MAC BOOK , cette option est disponible dans Applications -> Cliquez avec le bouton droit sur Android Studio, puis choisissez Afficher le contenu du package -> bin .

entrez la description de l'image ici

ou

ouvert -e /Applications/Android\ Studio.app/Contents/bin/studio.vmoptions

Puis augmentez la Xmxvaleur

-Xms128m
-Xmx2048m
-XX:MaxPermSize=350m
-XX:ReservedCodeCacheSize=64m
-XX:+UseCodeCacheFlushing
-XX:+UseCompressedOops

Désormais, votre studio Android sera ultra-rapide.

Ashokchakravarthi Nagarajan
la source
10

Android Studio 3.1 a la possibilité de modifier vos options de personnalisation de la mémoire virtuelle.

Vous pouvez accéder à Android Studio> Aide> Modifier les options de VM personnalisées

entrez la description de l'image ici

Ensuite, collez le code de paramètres ci-dessous dans studio64.exe.vmoptions fichier et enregistrez-le.

emplacement du fichier: "\ Users \ username \ .AndroidStudio3. ** \ config \"

-Xms128m
-Xmx4096m
-XX:MaxPermSize=1024m
-XX:ReservedCodeCacheSize=200m
-XX:+UseCompressedOops
Shihab Uddin
la source
1
Cette dernière ligne est fausse - Android Studio 3.2 plante au démarrage avec lui.
CommonsWare
9

Remarque: maintenant, ce n'est pas la réponse pour le message, mais cela sera peut-être utile pour quelqu'un qui cherche.

Si rien de tout cela ne fonctionne pour vous, essayez sur un Mac ceci pour voir si cela vous aide, dans la dernière version d'Android Studio, le studio.vmoptions se trouve à l'intérieur d'AndroidStudio.app dans votre dossier Applications.

Donc, faites un clic droit ou ctrl cliquez sur votre AndroidStudio.App, puis sélectionnez Afficher le contenu du package dans lequel se trouve studio.vmoptions:

Contenu / bin / studio.vmoptions

Remplacez-le ou changez-le et vous obtiendrez toute la RAM dont vous avez besoin.

entrez la description de l'image ici entrez la description de l'image ici

Cordialement.

Marco Antonio Uzcategui Pescoz
la source
Vous ne devez pas modifier ce fichier, mais celui indiqué ici: tools.android.com/tech-docs/configuration . Pour Mac: ~ / Library / Preferences / {FOLDER_NAME} /studio.vmoptions
GaRRaPeTa
6

J'ai essayé le truc _JAVA_OPTIONS mais cela ne fonctionnait toujours pas pour moi.

En fin de compte, ce qui a fonctionné pour moi était le suivant:

  • Lancement de studio64.exe au lieu de studio.exe (j'ai une machine 64 bits).
  • Ajoutez / modifiez les valeurs suivantes dans "studio64.exe.vmoptions":

-Xms2048m
-Xmx2048m
-XX:MaxPermSize=1024m
-XX:+CMSClassUnloadingEnabled
-XX:+CMSPermGenSweepingEnabled 
-XX:+HeapDumpOnOutOfMemoryError
-Dfile.encoding=utf-8

CherVentre
la source
1
J'ai fait exactement la même chose que toi, j'ai toujours les erreurs de mémoire insuffisante
Raphael Royer-Rivard
Avez-vous mis à jour la dernière version d'Android Studio? J'utilise Canary Channel et j'ai 1.0 RC 4
ExpensiveBelly
Non, j'étais sur 0.8.14, mais j'ai trouvé la cause de la fuite de mémoire. Créer une couleur nommée "light_gray" et l'utiliser dans un fichier de mise en page utilise une mémoire infinie ... "light_grey" est cependant ok.
Raphael Royer-Rivard
6

Il y a beaucoup de réponses qui sont maintenant dépassées. La manière souhaitée de modifier la taille du tas pour Android Studio a récemment changé.

Les utilisateurs doivent maintenant créer leur propre fichier vmoptions dans l'un des répertoires suivants;

Les fenêtres: %USERPROFILE%\.{FOLDER_NAME}\studio64.exe.vmoptions

Mac: ~/Library/Preferences/{FOLDER_NAME}/studio.vmoptions

Linux: ~/.{FOLDER_NAME}/studio.vmoptions and/or ~/.{FOLDER_NAME}/studio64.vmoptions

Le contenu du *.vmoptionsfichier nouvellement créé doit être:

-Xms128m
-Xmx750m
-XX:MaxPermSize=350m
-XX:ReservedCodeCacheSize=96m
-XX:+UseCompressedOops

Pour augmenter l'allocation de RAM, passez -XmX750mà une autre valeur.

Des instructions complètes peuvent être trouvées ici: http://tools.android.com/tech-docs/configuration

Charles Durham
la source
1
mais il n'y a pas de fichier studio.vmoptionsau chemin que vous avez mentionné. ils sont sous%AndroidStudioInstallationPath%\bin\studio.exe.vmoptions
Mulgard
C'est la bonne réponse. D'autres sont obsolètes ou découragés.
GaRRaPeTa
4

Vérifiez d'abord la quantité de mémoire allouée à votre studio Android pour vérifier que suivez ces étapes:

Fichier -> Paramètres-> Apparence et comportement-> Apparence

puis vérifiez l'option d'indicateur de mémoire d'affichage comme ci-dessous la partie en surbrillance rouge de l'image entrez la description de l'image ici

Dans mon cas, ma RAM est de 12 Go, j'ai donc alloué de la mémoire pour Android Studio 6 Go .Pour modifier, suivez ces étapes

Aide-> Modifier les options de VM personnalisées

-Xmx6g

Dans mon cas, je l'ai mis à 6 Go car la RAM de mon PC est de 12 Go. C'est à vous de déterminer la quantité de mémoire que vous souhaitez allouer à votre studio Android

Hoque MD Zahidul
la source
3

Sous Windows 7, les fichiers de configuration de [INSTALL-LOCATION]\binsemblent être ignorés. Selon la documentation Google suivante, le fichier à modifier doit être ici:%USERPROFILE%\.AndroidStudio\studio[64].exe.vmoptions

http://tools.android.com/tech-docs/configuration

Bizarre qu'il n'y ait pas de tel fichier lors d'une nouvelle installation d'Android Studio 1.1 à partir du site des développeurs. Et ils sont dans l'ancien emplacement (ignoré). Une fois que j'ai copié le fichier (studio.exe.vmoptions dans mon cas) et que je le modifie, le changement est respecté.

Cependant, le plaisir ne s'arrête pas là. Il existe une valeur supérieure -Xmxqui peut être liée à la quantité de mémoire de votre système. Je viens de faire passer la mémoire de ma machine de 4 Go à 16 Go, et j'ai supposé que je pouvais régler -Xmxsur 2048m, mais j'ai trouvé que si je le réglais sur quelque chose de plus grand que1500m, Android studio silencieusement pour ne pas démarrer sans indication du tout pourquoi. J'ai plus de RAM en route, il sera donc intéressant de voir si je peux augmenter la valeur à ce stade.

J'espère que ces informations supplémentaires seront utiles. Alors que toutes les réponses ci-dessus étaient sans aucun doute vraies à un moment donné (et peuvent encore l'être dans certains environnements), j'ai trouvé que c'était la seule approche qui augmentait la mémoire utilisée par AS pour moi.

Groovee60
la source
2

Ouvrez studio.vmoptions et modifiez les options JVM

studio.vmoptions se trouve dans / Applications / Android \ Studio.app/bin/studio.vmoptions (Mac OS). Dans ma machine, on dirait

-Xms128m
-Xmx800m
-XX:MaxPermSize=350m
-XX:ReservedCodeCacheSize=64m
-XX:+UseCodeCacheFlushing
-XX:+UseCompressedOops

Changer pour

-Xms256m
-Xmx1024m
-XX:MaxPermSize=350m
-XX:ReservedCodeCacheSize=64m
-XX:+UseCodeCacheFlushing
-XX:+UseCompressedOops

Et redémarrez Android Studio

Voir plus de site Web Android Studio

Bao Le
la source
2

J'ai trouvé sur Windows 7/8 (64 bits), à partir d'Android Studio 1.1.0:

[INSTALL_DIR]\bin\studio64.exe.vmoptions être utilisé (s'il existe), sinon il reviendrait toujours à %USERPROFILE%.\AndroidStudio\studio[64].exe.vmoptions

Si vous voulez que les paramètres soient gérés depuis %USERPROFILE%.\AndroidStudio\studio[64].exe.vmoptions, supprimez simplement celui du répertoire d'installation.

Jay Sidri
la source
2

Allez dans les scripts Gradle -> local.properties et collez ceci

`org.gradle.jvmargs=-XX\:MaxHeapSize\=512m -Xmx512m`

, si vous voulez le changer en 512. J'espère que cela fonctionne!

Rares-Mihai Chelariu
la source
2

vous n'êtes pas censé modifier le fichier bin / studio.exe.vmoptions, qui sera vérifié lors de l'application du correctif de mise à jour.

Les solutions sont ici http://tools.android.com/tech-docs/configuration

copiez ce fichier dans l'emplacement suivant, puis changez le -Xmx1280m en celui que vous voulez.

Les fenêtres:

%USERPROFILE%\.{FOLDER_NAME}\studio.exe.vmoptions et / ou %USERPROFILE%\.{FOLDER_NAME}\studio64.exe.vmoptions

%USERPROFILE%\.{FOLDER_NAME}\idea.properties

Mac:

~/Library/Preferences/{FOLDER_NAME}/studio.vmoptions ~/Library/Preferences/{FOLDER_NAME}/idea.properties

Linux:

~/.{FOLDER_NAME}/studio.vmoptions et / ou ~/.{FOLDER_NAME}/studio64.vmoptions

~/.{FOLDER_NAME}/idea.properties

landerlyoung
la source
1
Il est plus sûr d'utiliser la fonction propre d'IntelliJs / Android Studios pour le faire: Ouvrez l'IDE et cliquez sur "Aide" -> "Modifier les options de VM personnalisées"
Thommy
2

Est-ce Xmsque cela et Xmxun problème de mémoire faible m'arrivaient chaque fois que je travaillais avec le XML. J'ai aussi essayé d'augmenter cette mémoire, seulement pour constater qu'il fallait juste un peu plus de temps pour que cela se reproduise.

Après avoir été très frustré et avoir presque décidé de reconvertir tous mes projets actuels vers Eclipse, ce que je ne voulais pas faire, j'ai compris ce qui le provoquait et j'ai pu répéter cet échec et l'empêcher à chaque fois.

Lors de la modification du XML dans (Vue texte) et de l'utilisation de la vue de rendu "Aperçu", cela provoque à chaque fois une perte de mémoire. En désactivant "Aperçu" et en utilisant l'onglet Conception pour afficher uniquement l'écran, je peux utiliser Android Studio toute la journée, sans plantage.

Je souhaite que cela puisse être corrigé pour de bon, car il serait très agréable d'utiliser le rendu "Aperçu" lors de l'édition du XML, mais je suis heureux de pouvoir continuer à utiliser Android Studio.


la source
2

Voici comment modifier la taille du tas actuellement dans Android Studio 3.6.1

Sous Windows dans votre Android Studio:

  1. Sélectionnez Fichier -> Paramètres (la fenêtre contextuelle ci-dessous sera affichée)

Boîte de dialogue Paramètres

  1. Sélectionnez Apparence et comportement
  2. Sélectionnez Paramètres système
  3. Sélectionnez Paramètres de mémoire

Ensuite, modifiez les paramètres de taille de tas IDE à la valeur souhaitée

Sur Mac:

  1. Sélectionnez Android Studio
  2. Sélectionnez Préférences

Le même pop-up apparaîtra. Cependant, cette fois sur Mac, il s'appelle Préférences.

Suivez les mêmes étapes que la version Windows d'Android Studio pour ajuster la taille du tas que la boîte de dialogue Préférences a été affichée

George
la source
1

Peut aider quelqu'un qui a ce problème:

J'ai édité le studio64.exe.vmoptionsfichier, mais je n'ai pas réussi à enregistrer.

J'ai donc ouvert ce fichier avec Notepad ++ en Run as Administratormode puis enregistré avec succès.

Sayed Abolfazl Fatemi
la source
1

-Xms256m 
-Xmx2048m 
-XX:MaxPermSize=512m 
-XX:ReservedCodeCacheSize=128m 
-XX:+UseCompressedOops 

Kamil
la source
6
Une petite explication améliorerait sûrement votre réponse.
m02ph3u5
1

SI en modifiant ou en créant le .studio.exe.vmoptionsne fonctionne pas, essayez de modifier le gradle.propertiesfichier et de modifier la taille du tas selon vos besoins.

Cela a vraiment fonctionné pour moi sur mon Windows 7 avec 4 Go de RAM et Android Studio 2.2 installé dessus.

Fonctionne correctement sans erreur et affiche «Gradle Sync complete»

Dishant J
la source
J'ai dû ajouter un grade.properties afin de définir la taille maximale du tas utilisée lorsque je débogue mon application. Mais je dois demander pourquoi la configuration des options studio.vm comme mentionné dans la page de configuration d'Android Studio ne fonctionne pas comme annoncé? Ma préoccupation est que je fais quelque chose de fondamentalement mal (mais cela ne ressemble certainement pas à ça). (Merci) J'ai posté une question détaillée à: stackoverflow.com/questions/40833031/…
JimCzek
1

Sur Mac OSX, on peut facilement changer la taille du tas en allant au premier élément de menu, Android Studio> préférence> Paramètres système (menu de gauche)> Paramètres de mémoire et changer la taille du tas dans la boîte de dialogue.

entrez la description de l'image ici

Hammad Khan
la source