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?
DevEco
plugin e desinstalá-lo corrigiu o problema. Provavelmente estava fazendo muitas tarefas em segundo plano.Respostas:
Você pode tentar as seguintes opções no menu Arquivo:
O modo de economia de energia desabilita apenas insights de código e tarefas em segundo plano.
fonte
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.
fonte
Você pode considerar acessar Arquivo> Invalidar Caches / Reiniciar Seu cache pode estar iniciando algo estranho em segundo plano
fonte
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.
fonte
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.
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.
fonte
Eu tive exatamente o mesmo problema no Linux. Resolvido aumentando o tamanho da memória.
Comecei observando o
top -p <android studio pid> -H
que mostra quais threads estão usando a maior parte da CPU, para mim, existem três threads: 94232,94233,94234. Em seguida, faço umjstack <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
-Xmx
valor do padrão 750m para 1500m. É o suficiente para mim. se você tiver muita memória, defina para 2g ou 4g ou 16g ..fonte
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.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
fonte
Eu tentei o seguinte procedimento e
Android Studio
no meuSurface Pro 3
acelerado por uma quantidade insana:amount
ememory
do queAndroid Virtual Devices
você tem.Invalidate Caches/Restart
Power Save
modounnecessary files that are opened
.VM Heap Size
para cerca256
.fonte
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.
fonte
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).
fonte
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:
ou
ou
fonte
No meu caso, tenho
white-listed
a pasta do Android-Studio em"Eset Smart Security"
e o problema está resolvido!espero que isto ajude!
Editar:
Desativando
HIPS
emEset settings
também foi útil na minha situação!fonte