Como posso acelerar o Terminal.app ou o iTerm no Mac OSX?

41

Toda vez que eu inicio o iTerm ou Terminal depois de não usá-lo por algumas horas, leva de 10 a 20 segundos para retornar um prompt. A tela está em branco e, embora eu possa digitar, não consigo executar comandos.

Se eu sair de qualquer aplicativo, os lançamentos subseqüentes (se feitos relativamente em breve depois) serão bastante rápidos. A lentidão parece ocorrer apenas se o aplicativo não estiver sendo executado por algumas horas.

Estou executando o OSX 10.5.7 em um MacBookPro. Eu tenho exatamente a mesma configuração em outro computador, sem lentidão.

Alguma ideia de como acelerar as coisas novamente?

    
por pmaiorana 28.08.2009 / 17:08

8 respostas

39

Tente excluir os arquivos de log do sistema Apple em /var/log/asl/ :

sudo rm /var/log/asl/*.asl

Isso fez o truque para mim.

    
por 28.09.2009 / 08:25
30

Outra dica pode ser útil:

Altere o shell de inicialização do padrão /usr/bin/login para /bin/bash -l ou /usr/bin/zsh se você usar zsh.

Isso pode fazer com que o seu Terminal / iTerm2 seja lançado em velocidade de luz!

  • Para Terminal: Preferências → Inicialização: Altere de "Shell de login padrão" para "Comando: /bin/bash -l "

  • Para iTerm2: Preferências → Perfis → Geral → Comando: Altere de "Login Shell" para "Comando: /bin/bash -l "

por 06.08.2012 / 10:10
9

Eu preciso de uma certa reputação para comentar sobre postagens? De qualquer forma, limpar os logs do sistema fez isso por mim também, obrigado. Eu tentei patch path_helper com o patch aqui: gist.github.com/123525, como sugerido em um comentário sobre (mencionado anteriormente neste tópico), mas sem sucesso. Eu recebo um erro críptico. No entanto, esse patch deve acelerar o lançamento do terminal.app.

adição: Como eu mencionei, limpar os logs fez o truque para mim, mas o problema continua a surgir à medida que os logs crescem continuamente depois de removê-los. Eu descobri que "tweaking" /etc/asl.conf me deu uma solução mais permanente. A modificação é registrar somente as mensagens que são categorizadas como "críticas" ou mais críticas do que isso, ao contrário da categoria "aviso" de registro e cada mais crítica do que isso. Além disso, desconsidero as mensagens do ftp, mail, local0, local1. Aqui está uma pasta do meu /etc/asl.conf:

 ##
 # configuration file for syslogd and aslmanager
 ##

# redirect com.apple.message.domain to /var/log/DiagnosticMessages
? [T com.apple.message.domain] store_dir /var/log/DiagnosticMessages exclude_asldb

# authpriv messages are root/admin readable
? [= Facility authpriv] access 0 80

# remoteauth critical, alert, and emergency messages are root/admin readable
? [= Facility remoteauth] [<= Level critical] access 0 80

# broadcast emergency messages
? [= Level emergency] broadcast

# save kernel [PID 0] and launchd [PID 1] messages
? [<= PID 1] store

# save everything from emergency to notice
#? [<= Level notice] store
? [<= Level critical] store

# save lpr info level and above
#? [<= Level info] [= Facility lpr] store

# save all mail, ftp, local0, and local1 messages
#? [= Facility mail] store
#? [= Facility ftp] store
#? [= Facility local0] store
#? [= Facility local1] store
    
por 28.09.2009 / 12:09
7

De um artigo que li há algumas semanas: Janelas de terminal de abertura lenta

/usr/libexec/path_helper é muito lento ao carregar /etc/paths Se você remover todas as entradas em /etc/paths e garantir que esses itens estejam disponíveis em .bash_profile , isso resolverá o problema. Fez para mim de qualquer maneira.

    
por 28.08.2009 / 22:10
1

Se o aplicativo do terminal tiver sido carregado, mas você ainda não tiver um prompt, seu shell levará algum tempo para inicializar.

Isso provavelmente significa que você tem muito ou algo demorado no seu .bashrc ( supondo que você use bash ).

    
por 28.08.2009 / 17:32
0

Meu palpite é que, com o tempo, algo está usando muita memória. Quando você inicializa um terminal depois de não usá-lo por algum tempo, alguma memória deve ser disponibilizada trocando seu conteúdo para o disco. Se você matar o processo do terminal e reiniciá-lo relativamente rápido, a memória ainda estará disponível e será iniciada rapidamente. Isso deve acontecer com outros aplicativos também.

Você deve monitorar seu uso de memória com o Activity Monitor e ver se consegue saber para onde está indo.

    
por 28.08.2009 / 18:29
0

Uma solução mais permanente editando sudo vi /etc/asl.conf é fornecida aqui .

    
por 23.10.2013 / 23:26
0

Abra /etc/profile e adicione a linha PATH="" para que fique assim:

if [ -x /usr/libexec/path_helper ]; then
    PATH=""
    eval '/usr/libexec/path_helper -s'
fi
    
por 23.06.2015 / 03:09