Android Studio usando> 100% da CPU o tempo todo - nenhum processo em segundo plano parece estar em execução

86

Percebi que o Android Studio (quando em execução) usa mais de 100% da CPU o tempo todo, mesmo quando parece que não há processos em segundo plano em execução pelo IDE (indexação, etc). Posso suspeitar que isso seja algo específico da minha caixa, mas alguns outros desenvolvedores também estão encontrando isso.

Freqüentemente, o uso da CPU está na casa dos 100s ou 200s médios (veja as capturas de tela abaixo). Alguém encontrou isso também? Em caso afirmativo, há alguma estratégia ou opção dentro do IDE para corrigir esse uso intensivo de recursos do sistema?

insira a descrição da imagem aqui

insira a descrição da imagem aqui

Shaun
fonte
6
Eu tenho o mesmo problema, também OS X.
slanecek
2
Tenho visto isso no Windows 7 também, sempre com mais de 80% de uso da CPU.
Matt
4
Chegou até a 300% de uso da CPU em meus Mavericks. (Android Studio 1.0.1)
neobie
verifique se você baixou algum plugin recentemente. Eu baixei o DevEcoplugin e desinstalá-lo corrigiu o problema. Provavelmente estava fazendo muitas tarefas em segundo plano.
NullByte08

Respostas:

50

Você pode tentar as seguintes opções no menu Arquivo:

  1. Menu Arquivo -> Invalidar Caches / Reiniciar ... -> Invalidar e Reiniciar
  2. Habilite o modo de economia de energia clicando em Arquivo -> Modo de economia de energia

O modo de economia de energia desabilita apenas insights de código e tarefas em segundo plano.

muneikh
fonte
4
Estou tendo o mesmo problema com o Android Studio, mas não com o IntelliJ IDEA 12.1.4. Portanto, parece ser um problema específico do Android Studio, não do próprio IntelliJ. O problema começa quando eu inicio o processo de construção (usando o maven).
Bergvandenp
2
Atualização: Isso ajuda, mas também parece prejudicar algumas das funcionalidades do IDE (como autocompletar, e alguns ícones desapareceram, provavelmente sem suporte git em tempo real?)
Matt
1
Com a versão recente do Android Studio v5 +, o preenchimento automático funciona no modo de economia de energia.
muneikh,
1
Isso torna as coisas melhores, mas não é muito prático, pois desativa muitos recursos que uso.
idanakav
1
O modo de economia de energia ainda está disponível no Android Studio 3.1 e foi aprimorado desde as versões anteriores.
muneikh
48

Graças ao Buzzrick (respondido nesta página, provavelmente acima da minha resposta), ele mencionou sobre o VCS. Desligar todas as operações de segundo plano do VCS parecia ter um impacto ENORME em relação ao alto uso da CPU - era 150% e agora é 20%, mais ou menos.

Estou no OS X

Vá para: Preferências> Controle de versão> Plano de fundo. Agora listados em 'Operações em segundo plano' estão 6 opções. Desativei as três primeiras opções, que são:

Executar atualização no VCS em segundo plano, Executar confirmação para VCS em segundo plano, Executar verificação no VCS em segundo plano.

Miguel P.
fonte
Isso funcionou muito bem para mim no Linux (Ubuntu) também. Acabei de desabilitar todas as opções de fundo do VCS e de monopolizar a CPU, agora ele está usando menos de 2% de acordo com o topo. Muito obrigado!
Fran Marzoa,
3
Esta foi uma melhoria ENORME para mim. Caches inválidos só faziam tanto, mas eu ainda veria regularmente bem mais de 100% para AS e java (mais de 300% durante a construção!), E agora está em um único dígito em repouso. Estou no AS 3.4.1, fyi.
pdub
Não consigo encontrar este menu "Fundo". Eu realizo uma pesquisa nas configurações, mas não aparece, mas quando eu faço uma pesquisa tudo através das teclas Shift eu posso vê-los, mas clicar neles me leva a lugar nenhum. Pode ser desativado?
John Ernest Guadalupe
Deve haver uma guia 'Plano de fundo' listada em 'Controle de versão' nas configurações.
Miguel P.
Miguel, se eu não fosse casado (e um homem), ofereceria para ter um filho seu. Obrigado!
Jason
33

Você pode considerar acessar Arquivo> Invalidar Caches / Reiniciar Seu cache pode estar iniciando algo estranho em segundo plano

insira a descrição da imagem aqui

k.chao.0424
fonte
12

Eu encontrei um uso constante e alto da CPU sem nenhum motivo aparente. A invalidação do cache não funcionou nem o modo de economia de energia.

No meu caso, havia algo errado no diretório '.git' que estava causando a falha do android studio em um loop infinito. Verificar o repositório novamente corrigiu o problema.

Meu conselho é verificar os logs do Android Studio para obter dicas sobre o que está causando sua falha. Você também pode iniciá-lo no terminal e verificar a saída Stdout / Stderr.

Odedfos
fonte
Este foi o meu caso. Eu adicionei um alias à configuração do git que tornou o Android Studio inutilizável.
McP
2
Caso semelhante para mim. A confirmação dos arquivos alterados e o envio para o repositório corrigiram o problema.
Simas
5

Liguei a economia de energia no Android Studio 1.0, isso ajudou, mas isso significa que desativei muitos recursos que o Android Studio tem a oferecer. Assim, busquei encontrar uma solução melhor, sempre aparecia uma caixa de diálogo que me pedia para aumentar o tamanho da minha VM. Aparentemente, depois de aumentar isso, posso desligar a economia de energia e fazer meu Android Studio funcionar perfeitamente.

Veja como fazer isso: No Mac OS, vá para /Applications/Android\ Studio.app/Contents/bin/studio.vmoptions(para abrir o conteúdo, clique com o botão direito do mouse no aplicativo Android Studio> Exibir conteúdo). Você encontrará as seguintes variáveis

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

No Windows, vá para Variáveis ​​de ambiente e encontre uma variável de sistema chamada _JAVA_OPTIONS

Aumente esses números de acordo.

  • Xmx especifica o conjunto máximo de alocação de memória para uma Java Virtual Machine (JVM).
  • Xms especifica o pool de alocação de memória inicial.

ou seja, sua JVM será iniciada com uma quantidade de Xms de memória e será capaz de usar no máximo Xmx de memória.

Kennedy Nyaga
fonte
4

Eu tive exatamente o mesmo problema no Linux. Resolvido aumentando o tamanho da memória.

Comecei observando o top -p <android studio pid> -Hque mostra quais threads estão usando a maior parte da CPU, para mim, existem três threads: 94232,94233,94234. Em seguida, faço um jstack <pid>para obter o despejo de pilha do android studio e procuro por 0x17018 (= 94232), parece ser "Gang worker#0 (Parallel CMD Threads)". Todos os três. aparentemente, a JVM está muito ocupada fazendo GC o tempo todo.

Também abri o jconsole contra meu processo de estúdio Android e mostra o tempo GC " 20 minutes" !!! (na parte inferior da guia de memória)

A correção é alterar o studio.vmoptions (ou studio64.vmoptions no meu caso), para aumentar o -Xmxvalor do padrão 750m para 1500m. É o suficiente para mim. se você tiver muita memória, defina para 2g ou 4g ou 16g ..

Shawn
fonte
Obrigado pelas dicas sobre a existência de jstack. Sendo um usuário pela primeira vez, obviamente não sei como usá-lo corretamente, mas posso ver que há algum thread VCS no estado BLOQUEANDO. Não tenho certeza se esta é a causa raiz, mas parece se encaixar em algumas das outras descrições encontradas aqui.
Stephan Henningsen
4

Curiosamente, para mim, isso parecia ter algo a ver com a integração do controle de versão.

Consertei isso recarregando meu projeto de estúdio Android e quando ele perguntou sobre como conectar meus links CVS (não me lembro do texto exato), apenas disse "Ignorar". Depois disso, ele funcionou sem problemas sem puxar CPU

Buzzrick
fonte
3

Eu tentei o seguinte procedimento e Android Studiono meu Surface Pro 3acelerado por uma quantidade insana:

  1. Reduza o amounte memorydo que Android Virtual Devicesvocê tem.
  2. Invalidate Caches/Restart
  3. Vá para o Power Savemodo
  4. Feche tudo unnecessary files that are opened.
  5. Reduza seu VM Heap Sizepara cerca 256.
Henry Zhu
fonte
2

No Windows, reduzi a prioridade do processo studio64.exe e defini a afinidade do processo para metade dos núcleos. Abra o Gerenciador de Tarefas, clique na guia Processos, clique com o botão direito do mouse no processo studio64.exe e você o verá no menu.

Daniel Nuriyev
fonte
É interessante como alguns consideram isso útil.
Stephan Henningsen
1

Deixei essa questão em aberto por um tempo, pois colegas de trabalho e pôsteres aqui encontraram valor em várias soluções ao longo do tempo. Para mim, simplesmente atualizar o Android Studio resolveu o problema (depois de alguns meses em que nenhuma das soluções aqui funcionou para mim).

Shaun
fonte
4
Estou usando a versão estável mais recente do Android Studio, 3.2.1, e ainda vejo esse problema.
hansonchris
O emulador parece usar muita energia.
DragonFire
0

No Android Studio 2.3, isso acontece quando a janela "Android Monitor" é aberta (a janela mostra mensagens Logcat de dispositivos e emuladores) e, em seguida, você pressiona Ctrl+F( Cmd+Fno Mac) para revelar a barra de pesquisa 'Find' dentro desta janela .

Também pode acontecer quando você conecta um telefone Samsung ao computador via USB, que tem o Modo de desenvolvedor habilitado, porque os telefones Samsung geralmente enviam grandes quantidades de texto de depuração para o Logcat a cada segundo, mesmo se a janela do Logcat estiver fechada.

Portanto, as soluções para evitar o uso de 100% da CPU são:

Desative a barra de pesquisa Localizar ou oculte a janela completamente.

ou

Desconecte um telefone Samsung que está enviando muitas mensagens de depuração.

ou

Atualize para o Android Studio 3, onde esse bug não acontece.

Mr-IDE
fonte
0

No meu caso, tenho white-listeda pasta do Android-Studio em"Eset Smart Security" e o problema está resolvido!

espero que isto ajude!

Editar:

Desativando HIPSem Eset settingstambém foi útil na minha situação!

Ninguém8
fonte