Grande atraso quando executo um comando pela primeira vez em uma janela do DOS

Grande atraso quando executo um comando pela primeira vez em uma janela do DOS

Executamos um servidor (Win2k) com diversas ferramentas. Todas as estações de trabalho (XP) têm seu PATH definido para incluir essa pasta.

Quando executamos uma ferramenta (por exemplo, grep) a partir de uma caixa DOS em uma estação de trabalho, às vezes há um longo atraso (até um minuto) antes que a ferramenta seja executada. Após o atraso tudo acontece normalmente. As execuções subsequentes não têm atraso, mesmo quando executadas em outra caixa DOS.

Alguma ideia?

* MAIS DETALHES*

Este cenário sempre produz o atraso. Estamos trabalhando em uma ferramenta em uma pasta específica do servidor. A ferramenta é editada e compilada em uma estação de trabalho em uma caixa DOS que fica posicionada na pasta onde a ferramenta é construída e depois executada, o atraso está sempre presente. A execução a seguir está correta. Portanto, regenerar o EXE resulta em atraso.

Responder1

O Windows está fazendo login no servidor para ver se o comando desejado está nessa pasta. Após a primeira vez, ele já está logado. Temos o mesmo problema ao abrir documentos e pastas no servidor todos os dias.

Você pode acelerar (no Windows) executando o seguinte comando durante o login:

Net Use \\ServerName

O comando levará um minuto para ser processado, mas pode acontecer como uma tarefa em segundo plano que o usuário não notará. No entanto, não sei se isso causará problemas de "muitas conexões" no seu caso.

Responder2

grepnão é um comando Win32, mas sim Unix, então você pode ter invocado o subsistema Unix que está presente em versões mais antigas do Windows.

Um processo especial do sistema deve ser iniciado para suportar esses comandos Unix, o que pode explicar o atraso inicial. Não consigo lembrar o nome do processo, mas se você usar algo como o Process Explorer, poderá vê-lo iniciando.

Talvez istoSérie TechNetpode ser de alguma ajuda. Detalhes sobre o subsistema podem ser encontrados no livro "Windows Internals".

Responder3

Pode haver um local de rede em seu caminho que está expirando - quando você tenta executar um programa no DOS ou na opção "Executar" no menu Iniciar, se o executável ou arquivo de script/lote não for encontrado primeiro no diretório de trabalho atual, então cada diretório listado no PATH também será pesquisado.

Você pode digitar “PATH” na janela do DOS para ver se algo fora da unidade C: está na lista. Caso contrário, os próximos suspeitos poderão ser:

  1. O carregamento inicial de um programa muito grande também pode ser um problema (porque os usos subsequentes virão de um cache). Você tem um link para a ferramenta "grep" que está usando? Se for um pequeno programa independente, isso não deverá ser um problema

  2. Software antivírus lento (muito raro)

  3. As falhas de disco estão começando a se desenvolver (faça um backup completo o mais rápido possível)

  4. Fragmentação excessiva em seu sistema de arquivos (facilmente remediada executando o Desfragmentador de disco, que pode ser encontrado em: Menu Iniciar -> Programas -> Acessórios -> Ferramentas do sistema -> Desfragmentador de disco)

informação relacionada