Problemas de desempenho do Xcode 7

4

Alguém sabe como melhorar o desempenho da memória xcodes. Com o iOS9, o uso do mem salta para ~ 4gb e eu tenho um macbook pro i5 2.3 8gb. Mas essa coisa está comendo tudo! Às vezes, leva de 2 a 3 minutos para alternar entre arquivos rápidos ou para outro local no mesmo arquivo.

Se eu mudar para outro programa (Chrome, Slack ou Skype), eles funcionam perfeitamente.
Após algum monitoramento com os instrumentos, vi o seguinte (Simulador em execução)

  • Depois de executá-lo por 20 minutos ou mais, o problema também ocorre nos instrumentos
  • Tenho picos regulares de uso da CPU de até 106% (não tenho certeza de como isso funciona)
  • Eu obtive o simulador do iOS 8.4 para ver se o 9 estava causando o problema especificamente, o problema ainda persiste.
  • xcode mem virtual é de 5gb
  • xcode real mem fica entre 500-750mb e tem um salto ocasional para ~ 1gb
  • o memo comprimido xcode tem ~ 350mb
  • os threads do xcode sobem para cerca de 32/34 quando o problema ocorre

Descrição exata do problema
Em intervalos aleatórios (não é possível encontrar as etapas exatas de replicação), o xcode parece "travar". Não consigo alternar entre arquivos ou rolar em qualquer painel (código, estrutura ou visão geral).
Além disso, se eu mudar para outro aplicativo enquanto isso estiver acontecendo e voltar ao xcode, não será exibido.
Isso pode ocorrer quando o xcode ou o simulador não estiver em exibição.
Não parece haver nada baixando no xcode ou no sistema.

Falta de Lawgrin
fonte
11
O site funciona melhor se você seguir a regra "uma pergunta por postagem". Você sempre pode fazer perguntas adicionais, se necessário.
nohillside
2
-1 por falta de detalhes. Pesquise no site aqui como diagnosticar a troca de memória virtual (pesquise "vm_stat" ou "pressão da memória" para começar). Você tem um problema, mas está pensando em como diagnosticar o desempenho do OS X em geral? É difícil adivinhar se você é alguém que recebeu um Mac em um programa de ensino médio para desenvolvedores iniciantes ou se conhece alguma coisa sobre memória virtual.
bmike
IOS9 é o OS no iPhone, você quer dizer OS X? Quanta memória você tem e, dependendo do sistema operacional, o que o monitor de atividades mostra?
Mark
+1 para os detalhes. Vou ver se tenho tempo para examinar as coisas, mas se você não estiver sob pressão de memória (vm_stat 5 não mostra paginação e a pressão é verde no Activity Monitor), pode haver uma restrição de CPU. Você pode restringir o que está fazendo no Xcode? Playgrounds, Interface Builder, Storyboards, código de edição ou você está executando coisas em um simulador enquanto edita / compila / depura o código ativo? 30 threads não são muitos e 100% da CPU significa que o compilador ou outra coisa tem trabalho a fazer. A interface do usuário não deve bloquear por lá - por isso estou de acordo com você quanto à possibilidade de "corrigir" isso.
bmike
Estou escrevendo um aplicativo normal, portanto, estou alternando entre código, um storyboard e arquivos xib. Eu costumo construir no simulador, o aplicativo não foi colocado no ar e, portanto, não há funcionalidade de verificação de falhas em uso. Eu sou um caminho para o aplicativo. No entanto, ao executar o aplicativo, o simulador usa apenas 45 mb para o aplicativo #
Lawgrin Foul

Respostas:

1

Não posso comentar, mas estou enfrentando o mesmo problema com o xcode e tenho uma orientação para você tentar. Crie um novo perfil no seu Mac, execute o xcode a partir daí e verifique o uso da memória do xcode, que, esperamos, deve estar abaixo dos níveis normais. O que isso significa ainda não tenho certeza, mas poderia ajudar.

Atualizar:

Meu problema foi causado por muitos perfis de provisionamento, não foi um problema que me lembre do pré Xcode7, mas talvez alguém possa me esclarecer. Sempre que um projeto era aberto, acontecia algo que fazia com que meu uso do xcode aumentasse em até 5,2 GB, mas a exclusão de cerca de 1,5 GB de perfis de provisionamento fazia com que o uso retornasse aos níveis normais, conforme descrito neste tópico.

Para encontrar os arquivos a serem excluídos, vá para:

$ {Your_Username} / Library / MobileDevice / Provisioning \ Profiles

Wesley Hunt
fonte
Eu não sei sobre perfis de provisionamento, todos os meus não tinham nem 1 MB de tamanho. No entanto, vi que tinha muitos arquivos de emulação antigos (se isso faz sentido), que tinham cerca de 6 / 7GB de arquivos iOS 4.1 - 9.0. É isso que você quis dizer?
Lawgrin Foul
Isso realmente ajudou. Ainda há momentos em que isso acontece, porém é muito menos frequente #
Lawgrin Falta
2

Desde que você está desenvolvendo - inicie o Instruments e use-o para criar um perfil no Xcode.

Você precisará determinar se o storage / io é a causa da desaceleração ou se é CPU ou se é rede.

A partir daí, você pode fazer uma pergunta a seguir quando tiver alguns dados sobre o problema. Meu palpite é que o Xcode pode estar baixando a nova documentação - verifique se há downloads de rede intalld / ativos. Ou pode simbolizar logs de falhas de todos os dispositivos conectados, fazer download de tabelas de símbolos de dispositivos conectados, executar uma sandbox ou ...

Basicamente, como o Xcode é uma ferramenta tão grande, é difícil saber qual subsistema você está usando sem alguns dados.

FWIW - aqui está um comportamento adequado, nenhum simulador sendo executado, uma dúzia de outros aplicativos sendo executados, o Xcode instalado na documentação do Xcode usando cem meg de RAM enquanto aberto.

insira a descrição da imagem aqui

O Mac em questão dura 3 dias e possui uma grande quantidade de VMs com mongodb e VirtualBox linux em execução, o que torna o kernel maior do que seria na inicialização, mas mesmo isso não está causando nenhum tipo de pressão de memória.

bmike
fonte
2

Estava tendo o mesmo problema - investigou e pesquisou no Google o dia inteiro ontem e descobriu uma solução. O problema parece ter origem nas TOOLTIPS que o XCode tenta mostrar para nomes de arquivos truncados no painel esquerdo do XCode.

Portanto, basta ampliar o painel esquerdo e esse problema não ocorre mais para mim. Por favor, leia meu blog se você quiser detalhes: http://xcodenoobies.blogspot.my/2016/05/how-to-fix-xcode-7-lag_17.html

GeneCode
fonte