Android Studio - Como aumentar o tamanho da pilha alocada

118

Estou usando o Android Studio há 3 meses e um dos aplicativos que iniciei se tornou bastante grande. O uso de memória indicado no canto inferior direito do programa diz que meu heap alocado é máximo em 494M.

insira a descrição da imagem aqui

Quando começo a alterar os arquivos XML, meu uso de memória atinge rapidamente esse limite e o IDE trava com um erro de falta de memória como este.

insira a descrição da imagem aqui

Eu tentei aumentar o tamanho da pilha usando isso, mas até agora não houve efeito.

Analisei dezenas de artigos e outras perguntas sobre como aumentar o tamanho da pilha, mas nenhuma das respostas está funcionando. Não importa o que eu faça nas configurações VMOPTIONS ou IDE, o tamanho da pilha nunca aumenta. Acredito que estou editando o arquivo correto para o VMOPTIONS porque, se eu der um comando inválido propositalmente, o Android Studio reclamará e não será iniciado.

Estou usando o Windows 7 - 64 bits e tenho 16 GB de RAM. Alguém mais teve esse problema com o Android Studio? E você conseguiu consertar?

zafrani
fonte
Ver resposta da @ Moxi abaixo para obter as informações mais up-to-date sobre como configurar configurações específicas do usuário para a memória e estúdio JVM inicialização stackoverflow.com/a/29057416/396005
Bron Davies
1
Documentação atualizada do Android Studio: developer.android.com/studio/intro/…
Morrison Chang

Respostas:

136

-------EDITAR--------

Android Studio 2.0 e superior, você pode criar / editar este arquivo acessando "Editar opções personalizadas da VM" no menu Ajuda.

------- RESPOSTA ORIGINAL --------

Abra o arquivo localizado em

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

Mude o conteúdo para

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

Xmxespecifica o conjunto máximo de alocação de memória para uma Java Virtual Machine (JVM), enquanto Xmsespecifica o conjunto inicial de alocação de memória. Sua JVM será iniciada com Xmsquantidade de memória e poderá usar o máximo de Xmxquantidade de memória.

Salve o studio.vmoptionsarquivo e reinicie o Android Studio.

Mais neste post .

Nota:

Se você alterou o tamanho da pilha do IDE, reinicie o Android Studio antes de aplicar as novas configurações de memória. ( fonte )

Wesley
fonte
Isso corrigiu um problema para mim em um projeto muito grande, em que o Android Studio ficaria sem memória após 15 minutos enquanto criava o mapa de símbolos. Mudei o Xms para 1024m e o Xmx para 4096 e o ​​mapa de símbolos foi construído em menos de 30 segundos - portanto, o coletor de lixo deve estar se debatendo há muito tempo.
RikMaxSpeed
10
Conforme observado por Lord Flash: No Android Studio 2.0, você pode criar / editar este arquivo acessando "Editar opções personalizadas da VM" no menu Ajuda.
Lasse Magnussen
Thx, é muito útil. Para sua informação, se você usar a versão de 64 bits, o arquivo a editar será denominado studio64.exe.vmoptions.
Eselfar
50

Eu olhei para minhas variáveis ​​de ambiente e tive uma variável de sistema chamada _JAVA_OPTIONScom o valor -Xms256m -Xmx512m, depois de alterar isso para -Xms256m -Xmx1024mo tamanho máximo do heap aumentado de acordo.

zafrani
fonte
9
Não havia variável de sistema chamada _JAVA_OPTIONS. mas eu criei manualmente um novo e ele funciona bem. thanx.
Yasir Ali 27/09/13
Bom, isso funciona! Gostaria de saber se aumentar o tamanho da pilha é uma coisa boa ... Quero dizer, funciona e certamente em certos casos é o caminho certo, mas é sempre o caminho certo? Ou pode haver melhores soluções? Obrigado!
Marino6
é este problema também devido ao tamanho da pilha stackoverflow.com/questions/29148374/...
Sagar Devanga
Também não funcionou para mim, mas o Android Studio deixou alguns processos Java pendentes de execuções anteriores, e obviamente eles ainda estavam usando muita memória.
alex.magellan
48

Ou, você pode ir para sua android-studio\binpasta e alterar esses valores -Xmx e -Xms nos arquivos studio.exe.vmoptionsou studio64.exe.vmoptions(dependendo da versão em execução).

croc
fonte
2
Isso não funcionou para mim porque a variável _JAVA_OPTIONS estava sendo usada como o valor padrão.
Zafrani
Alterei as duas opções (vmoptions e _JAVA_OPTIONS), mas ainda tenho o erro
Raphael Royer-Rivard
Se você propositalmente inserir um erro de sintaxe nas vmoptions, ele trava o programa quando você o reinicia?
Zafrani
Não tenho certeza, mas acho que não deveria. Além disso, posso perguntar por que você digitaria um erro de sintaxe nas vmoptions de propósito?
Croc #
32

Aumentei minha memória seguindo a próxima documentação do Google:

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

Por padrão, o Android Studio recebe um máximo de 750Mb, mudei para 2048Mb.

Eu tentei o que o google descreveu, mas para mim a única coisa que funcionou foi usar uma variável de ambiente. Vou descrever o que fiz:

Primeiro, criei um diretório que chamei .AndroidStudioSettings,

  • mkdir .AndroidStudioSettings

Em seguida, criei um arquivo chamado studio.vmoptions e coloquei nesse arquivo o seguinte conteúdo:

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

Em seguida, adicionei as variáveis ​​de ambiente STUDIO_VM_OPTIONS no meu arquivo .profile:

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

Então recarrego meu .profile:

  • source ~/.profile

E finalmente abro o Android Studio:

  • open /Applications/Android\ Studio.app

E agora, como você pode ver usando a barra de status , tenho mais de 2000 MB disponíveis para o Android Studio:

insira a descrição da imagem aqui

Você pode personalizar seus valores de acordo com sua necessidade. No meu caso, 2048Mb é suficiente.

ATUALIZAÇÃO: O Android Studio 2.0 permite modificar esse arquivo acessando "Editar opções personalizadas da VM" no menu Ajuda, basta copiar e colar as variáveis ​​que você deseja manter para aumentá-lo para sempre que tiver na sua caixa.

moxi
fonte
Essa solução não funcionaria apenas ao abrir o AS do shell?
precisa
Onde você está digitando os comandos, como export STUDIO_VM_OPTIONS=/Users/youruser/.AndroidStudioSettings/studio.vmoptionsno terminal?
COYG
31

Você não deve editar nenhum arquivo no diretório de instalação do IDE. Em vez disso, você pode personalizar os atributos criando seus próprios arquivos .properties ou .vmoptions nos seguintes diretórios. (Isso já era possível em algumas plataformas, mas era necessário copiar e alterar todo o conteúdo dos arquivos. Com as alterações mais recentes, essas propriedades agora são aditivas, de modo que você pode definir apenas os atributos mais importantes e o restante usará os padrões da instalação do IDE).

Nota: No Android Studio 2.0, você pode criar / editar este arquivo acessando o arquivo "Editar opções personalizadas da VM" no menu Ajuda.

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

insira a descrição da imagem aqui

Tobias
fonte
12

Se você estiver usando o MAC BOOK , esta opção estará disponível em Aplicativos -> Clique com o botão direito do mouse em Android Studio e escolha Mostrar conteúdo do pacote -> bin .

insira a descrição da imagem aqui

ou

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

Aumente o Xmxvalor

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

Agora, o seu Android Studio será super rápido.

Ashokchakravarthi Nagarajan
fonte
10

O Android Studio 3.1 tem a opção de editar suas opções personalizadas de memória virtual.

Você pode acessar o Android Studio> Ajuda> Editar opções personalizadas da VM

insira a descrição da imagem aqui

Em seguida, cole o código de configurações abaixo em studio64.exe.vmoptions arquivo e salve-o.

local do arquivo: "\ Users \ nome de usuário \ .AndroidStudio3. ** \ config \"

-Xms128m
-Xmx4096m
-XX:MaxPermSize=1024m
-XX:ReservedCodeCacheSize=200m
-XX:+UseCompressedOops
Shihab Uddin
fonte
1
Essa última linha está errada - o Android Studio 3.2 trava na inicialização com ele lá.
CommonsWare
9

Nota: Agora, essa não é a resposta para o post, mas talvez isso seja útil para quem está procurando.

Se nada disso funcionar para você, tente usar um Mac para verificar se, na última versão do Android Studio, o studio.vmoptions está dentro do AndroidStudio.app na pasta Aplicativos.

Então, clique com o botão direito do mouse ou pressione a tecla Ctrl e clique no seu AndroidStudio.App e selecione mostrar o conteúdo do pacote no studio.vmoptions:

Conteúdo / bin / studio.vmoptions

Substitua ou altere e você obterá toda a RAM necessária.

insira a descrição da imagem aqui insira a descrição da imagem aqui

Saudações.

Marco Antonio Uzcategui Pescoz
fonte
Você não deve alterar esse arquivo, mas o indicado aqui: tools.android.com/tech-docs/configuration . Para Mac: ~ / Library / Preferences / {FOLDER_NAME} /studio.vmoptions
GaRRaPeTa
6

Eu tentei a coisa _JAVA_OPTIONS, mas ainda não estava funcionando para mim.

No final, o que funcionou para mim foi o seguinte:

  • Iniciar o studio64.exe em vez do studio.exe (eu tenho uma máquina de 64 bits).
  • Adicione / altere os seguintes valores em "studio64.exe.vmoptions":

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

ExpensiveBelly
fonte
1
Fez exatamente o mesmo que você, eu ainda tenho o de erros da memória
Raphael Royer-Rivard
Você atualizou para a versão mais recente do Android Studio? Estou usando o Canary Channel e tenho 1.0 RC 4
ExpensiveBelly
Não, eu estava no 0.8.14, mas encontrei a causa do vazamento de memória. Criar uma cor chamada "light_gray" e usá-la em um arquivo de layout usa memória infinita ... "light_grey" está ok.
Raphael Royer-Rivard
6

Agora há muitas respostas desatualizadas. A maneira desejada de alterar o tamanho da pilha do Android Studio foi alterada recentemente.

Os usuários agora devem criar seu próprio arquivo vmoptions em um dos seguintes diretórios;

Janelas: %USERPROFILE%\.{FOLDER_NAME}\studio64.exe.vmoptions

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

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

O conteúdo do *.vmoptionsarquivo recém-criado deve ser:

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

Para aumentar a atribuição de RAM, mude -XmX750mpara outro valor.

Instruções completas podem ser encontradas aqui: http://tools.android.com/tech-docs/configuration

Charles Durham
fonte
1
mas não há arquivo studio.vmoptionsno caminho que você mencionou. eles estão abaixo%AndroidStudioInstallationPath%\bin\studio.exe.vmoptions
Mulgard
Esta é a resposta certa. Outros são obsoletos ou desanimados.
GaRRaPeTa
4

Primeiro verifique a quantidade de memória alocada para o seu estúdio android para verificar se segue estas etapas:

Arquivo -> Configurações-> Aparência e Comportamento-> Aparência

marque a opção mostrar indicador de memória, como abaixo da imagem, parte destacada em vermelho insira a descrição da imagem aqui

No meu caso, minha RAM é de 12 GB, então aloquei memória para o android studio 6 gb. Para editar isso, siga estas etapas

Ajuda-> Editar opções personalizadas da VM

-Xmx6g

No meu caso, eu configurei 6GB porque o meu pc ram é de 12 GB. Cabe a você quanta memória você deseja alocar para o seu estúdio android

Hoque MD Zahidul
fonte
3

No Windows 7, os arquivos de configuração em [INSTALL-LOCATION]\binparecem ignorados. De acordo com a seguinte documentação do Google, o arquivo a ser modificado deve estar aqui:%USERPROFILE%\.AndroidStudio\studio[64].exe.vmoptions

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

É estranho que não exista esse arquivo em uma instalação limpa do Android Studio 1.1 no site do desenvolvedor. E eles estão no local antigo (ignorado). Depois de copiar studio.exe.vmoptionse modificar o arquivo ( no meu caso), a alteração será respeitada.

No entanto, a diversão não pára por aí. Há um valor superior para o -Xmxqual pode estar relacionado à quantidade de memória no seu sistema. Eu apenas cruzei a memória de minha máquina de 4GB a 16GB, e achava que eu poderia definir -Xmxa 2048m, mas eu achei que se eu configurá-lo para qualquer coisa maior que 1500m,Estúdio Android silenciosamente deixar de lançamento com nenhuma indicação em tudo quanto ao porquê. Como tenho mais RAM a caminho, será interessante ver se posso aumentar o valor nesse momento.

Espero que esta informação adicional seja útil. Embora todas as respostas acima tenham sido indubitavelmente verdadeiras em um ponto (e ainda possam estar em alguns ambientes), descobri que essa era a única abordagem que aumentava a memória usada pelo AS para mim.

Groovee60
fonte
2

Abra studio.vmoptions e altere as opções da JVM

O studio.vmoptions localiza-se em / Aplicativos / Android \ Studio.app/bin/studio.vmoptions (Mac OS). Na minha máquina, parece

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

Mudar para

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

E reinicie o Android Studio

Veja mais site do Android Studio

Bao Le
fonte
2

Encontrei no Windows 7/8 (64 bits) a partir do Android Studio 1.1.0:

[INSTALL_DIR]\bin\studio64.exe.vmoptions usado (se existir), caso contrário, ele sempre retornaria a %USERPROFILE%.\AndroidStudio\studio[64].exe.vmoptions

Se você deseja que as configurações sejam gerenciadas %USERPROFILE%.\AndroidStudio\studio[64].exe.vmoptions, exclua a do diretório de instalação.

Jay Sidri
fonte
2

Vá em Scripts Gradle -> local.properties e cole este

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

, se você quiser alterá-lo para 512. Espero que funcione!

Rares-Mihai Chelariu
fonte
2

você não deve modificar o arquivo bin / studio.exe.vmoptions, que será verificado durante a aplicação do patch de atualização.

As soluções estão aqui http://tools.android.com/tech-docs/configuration

copie esse arquivo para o seguinte local e altere -Xmx1280m para o que desejar.

Janelas:

%USERPROFILE%\.{FOLDER_NAME}\studio.exe.vmoptions e / 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 e / ou ~/.{FOLDER_NAME}/studio64.vmoptions

~/.{FOLDER_NAME}/idea.properties

landerlyoung
fonte
1
É mais seguro usar IntelliJs / Studios Android própria função para fazê-lo: Abra o IDE um "Help" click -> "Editar opções de costume VM"
Thommy
2

Esse problema de baixa memória Xmse Xmxocorria comigo sempre que eu trabalhava com o XML. Eu também tentei aumentar essa memória, apenas para descobrir que demorou um pouco mais para que isso acontecesse novamente.

Depois de ficar muito frustrado e quase decidir converter todos os meus projetos atuais de volta ao Eclipse, o que eu não queria fazer, descobri o que estava causando isso e pude repetir essa falha e evitá-la todas as vezes.

Ao editar o XML em (exibição de texto) e usar a exibição de renderização "Visualizar", isso sempre causa perda de memória. Desativando a "Visualização" e usando a guia Design para renderizar apenas a tela, posso usar o Android Studio o dia inteiro, sem falhas.

Eu gostaria que isso pudesse ser corrigido definitivamente, porque seria muito bom usar a renderização "Visualizar" durante a edição do XML, no entanto, estou feliz por poder continuar usando o Android Studio.


fonte
2

É assim que você altera o tamanho da pilha atualmente no Android Studio 3.6.1

No Windows no seu Android Studio:

  1. Selecione Arquivo -> Configurações (o pop-up abaixo será exibido)

Caixa de diálogo Configurações

  1. Selecione Aparência e Comportamento
  2. Selecione Configurações do sistema
  3. Selecione configurações de memória

Em seguida, altere as configurações de Tamanho do heap do IDE para o valor desejado

No Mac:

  1. Selecione Android Studio
  2. Selecione Preferências

O mesmo pop-up será exibido. No entanto, desta vez no Mac, é chamado de Preferências.

Siga as mesmas etapas que a versão do Android Studio para Windows para ajustar o tamanho da pilha que deseja que a caixa de diálogo Preferências seja exibida

George
fonte
1

Pode ajudar alguém que tenha esse problema:

Eu edito o studio64.exe.vmoptionsarquivo, mas não foi possível salvar.

Então, eu abri este arquivo com o Notepad ++ no Run as Administratormodo e salvei com sucesso.

Sayed Abolfazl Fatemi
fonte
1

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

Kamil
fonte
6
Uma pequena explicação certamente melhoraria sua resposta.
M02ph3u5
1

SE, alterando ou criando o .studio.exe.vmoptionsnão funcionar, tente alterar o gradle.propertiesarquivo e altere o tamanho do heap conforme sua exigência.

Realmente funcionou para mim no meu Windows 7 com RAM de 4Gb e Android Studio 2.2 instalado.

Funcionando corretamente sem erros e exibindo 'Gradle Sync complete'

Dishant J
fonte
Eu tive que adicionar um grade.properties para definir o tamanho máximo de heap que era usado quando depuro meu aplicativo. Mas tenho que perguntar: por que a configuração do studio.vmoptions, conforme mencionado na página de configuração do Android Studio, não funciona como anunciado? Minha preocupação é que eu esteja fazendo algo fundamentalmente errado (mas com certeza não parece). (Obrigado)
Publiquei
1

No Mac OSX, é possível alterar facilmente o tamanho da pilha acessando o primeiro item do menu, Android Studio> preferência> Configurações do sistema (menu esquerdo)> Configurações de memória e alterar o tamanho da pilha na caixa de diálogo.

insira a descrição da imagem aqui

Hammad Khan
fonte