Copiar um arquivo grande para um servidor remoto faz com que ele fique sem memória física

Copiar um arquivo grande para um servidor remoto faz com que ele fique sem memória física

Tenho um problema estranho que parece ter começado recentemente.

Quando copio um arquivo grande (aproximadamente 6 GB) do meu laptop para um de nossos servidores de arquivos mais antigos, o servidor fica sem memória após alguns segundos.

Isso só começou recentemente, talvez desde o patch de terça-feira, embora eu não tenha certeza.

Este servidor é uma máquina Windows 2000 sp4, é um Dell 2950 com 1 GB de RAM (Nota: tenho certeza de que este servidor tinha mais de 1 GB! Não posso verificar fisicamente até o final do dia quando posso desligá-lo), Proc Xeon de 3 GHz, 4 unidades SATA de 250 Gb e 7,5 k RPM em raid 10 e uma NIC de 1 Gigabit conectada a uma porta de 1 GB em um switch gerenciado Intel.


(Aparentemente não consigo postar imagens então um link terá que servir)

Gráfico de uso de memória + informações durante a cópia

Assim que paro a cópia, a memória é liberada instantaneamente:

Gráfico de uso de memória + informações logo após a cópia ser interrompida


Removi o antivírus que não teve impacto. Alterei as opções de "Compartilhamento de arquivos e impressões para redes Microsoft" para balanceadas.

Temos outro servidor, Windows 2000 SP4 com 2 GB de Ram, Intel Quad Core de 2,8 GHz, 6 x 300 Gb 15k SAS em raid 10.

Quando copio o mesmo arquivo de 6 GB aqui, a quantidade de memória disponível não muda.

Há mais alguma coisa que eu possa ver enquanto o servidor está em execução? Como está em uso e não é realmente afetado por pequenas cópias de arquivos, não posso reiniciá-lo ainda.

Aqui está uma captura de tela de alguns contadores perfmon que abri quando o servidor ficou sem memória.

Contadores Perfmon durante a cópia

Obrigado
Gareth

Responder1

Estou enfrentando o mesmo problema.

Tentando fazer uma conversão P2V em um servidor de 64 bits executando o Windows Server 2008. Qualquer um dos métodos normais de transferência de arquivos para o arquivo VMDK (que tem 44 GB) faz com que o Windows no servidor de destino fique sem 14 GB de RAM após alguns minutos devido ao cache do sistema de arquivos.

Executar a conversão P2V ou cópia de arquivo em um servidor de 32 bits não apresenta esse problema e o uso de memória permanece razoável.

Então, tentar copiar o arquivo VMDK para o servidor VMWare de destino apresenta o mesmo problema.

Esta página descreve exatamente o que estou vendo:

http://blogs.technet.com/askperf/archive/2007/05/08/slow-large-file-copy-issues.aspx

Com base no meu trabalho, este AM ESEUtil parece ser o caminho a percorrer. Não foi tão rápido quanto eu esperava, mas também não assustou o Windows.

O cliente FTP do Windows usa um arquivo Temp em C:\ antes de mover o arquivo para o destino de destino. Cuidado! :-)

Isso émuitofrustrante.

Responder2

Eu sei que isso é um pouco chato, mas você já tentou um utilitário de cópia de arquivos de terceiros? Às vezes, o Windows tende a ser meio burro/lento com relação às cópias de arquivos. Lifehacker fez uma lista dos 5 principais desses utilitários, experimente um deles e veja se você ainda tem o mesmo problema.

http://lifehacker.com/5280976/five-best-alternative-file-copiers

Além disso, como disse, verifique as configurações de memória virtual. A prática recomendada é que seu arquivo de paginação tenha x1,5 de sua memória (ou seja, 1 GB mem = 1024 MB; 1024 * 1,5 = 1536 MB de arquivo de página)

Responder3

Existem problemas conhecidos com os processos de cópia de arquivo de rede no W2K - se o sistema remoto não puder esvaziar o cache de gravação mais rápido do que a taxa em que os dados do arquivo chegam pela rede, ele consumirá continuamente toda a memória física do servidor se o arquivo é grande o suficiente. Mark Russinovich tem alguns detalhes sobre como isso pode acontecerneste artigosobre as alterações feitas nos mecanismos de cópia de arquivos do Windows Vista. O gráfico de desempenho que você postou se parece com esse problema e já vi exatamente esse tipo de comportamento no passado, onde tinha um sistema de destino com discos muito lentos e uma rede rápida.

No entanto, mesmo que o sistema operacional de destino seja um pouco antigo, o hardware não é tão fraco e uma configuração RAID 10 com unidades SATA 4x7,2K deve ser boa para algo entre 60 e 120Meg/seg de velocidade de gravação, que é significativamente maior do que 39Meg/seg. seg O Vista está reportando sua cópia. O estranho aqui é que, se for um link GigE sólido e bem configurado, você poderá atingir taxas de transferência de rede chegando a 70 Meg/s (e talvez um pouco mais) para uma cópia sustentada de um arquivo grande como este. Dito isto, 38 Meg/seg não é anormal se houver qualquer outro tráfego entrando ou saindo do cliente ou servidor ou (como é mais provável) essa taxa é limitada principalmente pela velocidade do disco rígido local do seu laptop.

De qualquer forma, eu verificaria se o seu RAID 10 estava realmente íntegro - os sintomas aqui me fariam suspeitar que ele não foi capaz de gravar tão rápido quanto deveria.

Responder4

Talvez você precise aumentar a memória virtual no disco rígido do sistema, onde pouco espaço no disco rígido pode ter causado esse problema.

Além disso, do ponto de vista lógico, o servidor não precisa realmente armazenar um arquivo na memória ao copiar de um sistema de arquivos para outro; apenas aloca um buffer na memória pelo qual o arquivo passa. Dependendo de como você copia os arquivos, alguns aplicativos primeiro armazenam o arquivo completamente na memória e depois gravam-no no disco.

Tente usar um protocolo como FTP - se isso ainda acontecer, você provavelmente deverá investigar alguns problemas de rede.

A questão interessante aqui seria como o servidor realmente armazena os arquivos - como você pode ver, a carga de E/S está muito baixa, o que significa que ele não está realmente gravando o arquivo em qualquer lugar, apenas armazenando-o em buffer na memória.

informação relacionada