De repente, todos os comandos Cygwin iniciados na linha de comando do Windows têm um atraso de ~ 10 a 20 segundos antes de serem executados, para que o Cygwin se torne totalmente inutilizável. Eu já tentei reinstalar sem sucesso.
Executar os comandos de dentro de uma janela do shell Bash funciona bem (ao iniciar o Bash, vejo o atraso). A remoção de todas as entradas da minha variável PATH local não influencia. Eu uso o Windows 7 x64 e Cygwin x64 v 1.7.34 (0.285 / 5/3).
windows-7
windows
command-line
cygwin
85fce
fonte
fonte
C:\cygwin\bin>.\ls.exe <ENTER>
Respostas:
Ocasionalmente, trabalho em um domínio do Windows com milhares de usuários.
Não quero fazer nenhuma abordagem de melhor palpite. Eu preferiria que o Cygwin armazenasse em cache as informações do usuário conforme necessário. Acontece que isso é fácil de fazer.
Basta executar
cygserver
no login.Para configurar isso corretamente, execute
cygserver-config
apenas uma vez. Isso será configuradocygserver
para ser executado como um serviço do Windows com as credenciais corretas. Faça isso na janela do administrador do Cygwin.O que
cygserver
faz por mim?Veja a documentação no site da Cygwin . Basicamente, ele faz o cache do usuário, além de garantir que o IPC funcione entre todos os processos Cygwin .
Sua milhagem pode variar, é claro, mas agora é minha maneira preferida de trabalhar. Eu deveria ter feito isso anos atrás.
fonte
/usr/bin/cygserver-config: line 181: cygrunsrv: command not found
,C:/cygwin64/bin
Está noPATH
, funcionando como administrador ...C:\cygwin64\bin\cygrunsrv.exe
? Você usou erroneamente barras (/
) no seu%PATH%
? O pacote cygrunsrv está instalado?C:\cygwin64\bin\cygrunsrv.exe
não existe, instalei ocygrunsrv: NT/W2K service initiator
pacote e tudo está funcionando.Parece ter a ver com autenticação. Para mim, 40 segundos para conseguir algo para executar. Depois disso, a criação do processo nessa árvore de processos parece bem rápida.
https://www.cygwin.com/faq.html#faq.using.startup-slow
Então eu
Fiz um cache da minha autenticação local e minhas próprias credenciais do Active Directory (AD)
Disse Cygwin apenas para usar esses dois arquivos
Eu matei todos os processos Cygwin e comecei novamente. Tudo agora corre bem e rápido. Vou remover esse hack em todas as atualizações de arquivos DLL do Cygwin e ver como eu vou.
Este é apenas um esboço - você pelo menos desejará manter os backups!
EDITAR
Descontinuada. Veja minha resposta mais recente a esta pergunta para uma solução melhor (IMHO).
fonte
Leia a atualização abaixo, isso acabou não sendo o problema.
Eu sofro de uma versão extrema desse problema, embora seja intermitente. Quando o problema existe, todos os comandos levam entre 20 segundos e, nos casos mais extremos, vários minutos. Isso ocorrerá por vários dias e depois desaparecerá por vários dias. BTW, eu tenho um sistema extremamente rápido com muitas unidades de DRAM, SSD, etc.
Agora, finalmente, tenho uma teoria candidata que pode explicar as coisas. Acabei de atualizar o Cygwin via setup-x86_64.exe (o que eu faço com pouca frequência) e depois as coisas são extremamente responsivas novamente (literalmente milhares de vezes mais rápido que antes). Acho que o rebaseall no final da atualização foi o que fez a diferença.
Atualização: a aceleração que vi antes foi aparentemente uma coincidência; quando o problema reapareceu um mês depois, isso não foi corrigido. Acontece que a desativação da proteção ao vivo do Windows Defender resolveu instantaneamente a desaceleração.
fonte
Como nota de rodapé, acabei de descobrir que precisava reconstruir os arquivos
passwd
egroup
após uma atualização do Cygwin. Como o comportamento lento estava acontecendo novamente, a parte da base automática da instalação levou vários dias para ser concluída.Também não precisei modificar o nsswitch.conf padrão no meu sistema (Windows 10).
A propósito, o comportamento lento também se mostrou com o prompt de comando do Windows e aplicativos portáteis. Alguns aplicativos portáteis levaram várias horas para produzir uma janela quando iniciados.
fonte
Foi assim que esse problema se manifestou para mim. No primeiro, digamos 20, os comandos digitados no prompt do Cygwin, eram rápidos, mas depois abruptamente se tornaram dolorosamente lentos.
Eu tentei a correção de autenticação acima. Não funcionou para mim.
As Perguntas frequentes do Cygwin relatam que o Cygwin não gosta de espaços nos nomes de usuários ou grupos. Consulte Meu nome de logon do Windows possui um espaço, isso causará problemas? .
O nome do meu grupo tinha um espaço, então eu o alterei no
/etc/group
arquivo gerado na correção de autenticação para um sublinhado. Isso também não funcionou.Outras postagens para o mesmo problema relataram que resultou no antivírus. Substituí meu antivírus existente (System Center Endpoint Protection) pelo Sophos. Isso resolveu o problema para mim.
Eu espero que isso ajude.
fonte
Eu tive um problema com a execução lenta de compilações por um tempo no cygwin.
Fui forçado a atualizar ontem e me deparei com a questão do rebaseall simplesmente por não executar. Isso me forçou a investigar outras coisas e encontrei um relatório que sabia que o Trusteer Rapport / End Point Protection causava problemas com rebaseall e tempos de resposta lentos. Então, eu o removi, através do método normal de desinstalação de programas do Windows, no Painel de controle.
Em seguida, fiz um rebaseall a partir da interface do dash como administrador.
Então isso significa (win7) no tipo de menu Iniciar, traço. O atalho do traço aparecerá. Clique com o botão direito do mouse para executar como administrador. Então, quando terminar, execute:
/ usr / bin / rebaseall -v
Vá tomar um café ... Ele ficará parado por alguns segundos antes de exibir a saída; se ficar parado e não fizer nada por mais de 5 minutos, você terá outro problema.
Isso corrigiu o rebaseall, mas também aumentou enormemente a velocidade da minha compilação. Vale a pena conferir para ver se você o tem instalado, tente removê-lo.
fonte
c:\msys64\user\bin\dash.exe
. Para executá-lo como administrador, tive que criar um atalho na área de trabalho para ele. Infelizmente, isso não corrigiu meu cygwin lento: (