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

3

Eu 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 antigos, o servidor fica sem memória após alguns segundos.

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

Este servidor é uma máquina Windows 2000 sp4, é um Dell 2950 com 1GB de RAM (Nota: tenho a certeza que este servidor tinha mais de 1GB !, não posso verificar fisicamente até ao final do dia quando posso alimentá-lo para baixo), 3GZ Xeon proc, 4 unidades 250Kb 7.5k RPM SATA em RAID 10 e 1 NIC Gigabit conectada a uma porta de 1 GB em um switch gerenciado por intel.

(Aparentemente eu não posso postar imagens para que um link tenha que ser feito)

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

Assim que eu parar a cópia, a memória libera instantaneamente:

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

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

Temos outro servidor, o Windows 2000 SP4 com 2 GB de RAM, o Intel Quad Core de 2,8 Ghz e o SAS de 15 K de 300 GB no RAID 10.

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

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

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

Contadores de desempenho durante a cópia

Obrigado Gareth

    
por Gareth Hastings 08.07.2009 / 13:17

8 respostas

2

Estou com 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 VMDK (de 44 GB) faz com que o Windows no servidor de destino fique sem 14 GB de RAM alguns minutos devido ao armazenamento em cache do sistema de arquivos.

A execução da conversão de P2V ou cópia de arquivo em um servidor de 32 bits não tem esse problema e o uso de memória permanece razoável.

Em seguida, tentar copiar o arquivo VMDK para o servidor VMWare de destino tem o mesmo problema.

Esta página descreve exatamente o que estou vendo:

link

Baseado no meu trabalho, este ESEUtil AM 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. Cuidado! : -)

Isso é muito frustrante.

    
por 20.08.2009 / 18:49
1

Eu sei que isso é um pouco chato, mas você já tentou um utilitário de cópia de arquivos de terceiros? Windows tende a ser um pouco estúpido / lento sobre cópias de arquivos, às vezes. Lifehacker fez uma lista top 5 desses utilitários, tente um deles e veja se você ainda tem o mesmo problema.

link

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

    
por 08.07.2009 / 14:16
1

Existem problemas conhecidos com os processos de cópia de arquivos de rede no W2K - se o sistema remoto não puder esvaziar o cache de gravação mais rápido do que a chegada dos dados do arquivo pela rede, ele consome toda a memória física servidor se o arquivo for grande o suficiente. Mark Russinovich tem alguns detalhes sobre como isso pode acontecer neste artigo sobre mudanças feita nos mecanismos de cópia de arquivos do Windows Vista. O gráfico de desempenho que você postou parece com esse problema e eu vi exatamente esse tipo de comportamento no passado, onde eu tinha um sistema de destino com discos muito lentos e uma rede rápida.

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

De qualquer forma, eu verificaria se o seu RAID 10 estava realmente saudável - os sintomas aqui me fazem suspeitar que não foi capaz de escrever tão rápido quanto deveria.

    
por 08.07.2009 / 20:38
0

Acabei de executar uma cópia no próprio servidor, disco local para disco local e está tudo bem. A quantidade de memória livre disponível não muda.

Acho que isso é mais um problema relacionado a redes. Vou verificar os drivers da placa de rede

ATUALIZAÇÃO: Os motoristas têm alguns anos de idade. Vou atualizá-los fora de horas hoje à noite. Ainda não tenho certeza porque isso afetaria o servidor de repente depois de todo esse tempo!

    
por 08.07.2009 / 13:19
0

Talvez você precise reforçar sua memória virtual no disco rígido do seu sistema, onde o baixo espaço no disco rígido poderia ter causado o problema.

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

Tente usar um protocolo como o FTP - se isso ainda acontecer, provavelmente você deve procurar alguns problemas de rede.

A questão interessante aqui seria como o servidor realmente armazena os arquivos - como você pode ver, o carregamento de I / O é apenas baixo, o que significa que não está realmente gravando o arquivo em lugar algum, apenas armazenando na memória.

    
por 08.07.2009 / 14:02
0

Esta operação de cópia é apenas através de um compartilhamento de rede normal (ou seja, copiando através do Windows Explorer ou similar)? Eu experimentei um bug como este em Win2K, mas isso foi corrigido desde SP1, se bem me lembro.

Se você estiver copiando por outro método, então esse aplicativo / serviço pode estar tentando manter o arquivo na RAM até que ele tenha tudo, e nesse caso você precisa atualizar ou substituir esse aplicativo / serviço.

    
por 08.07.2009 / 14:19
0

Você está usando o Server 2003 de 64 bits? Há algumas informações sobre como corrigir este problema com x64 no Server 2003 aqui - > link

Parece acontecer um pouco em 2003 / XP x64, na verdade. Na verdade, percebi que um dos meus servidores passou por esse mesmo problema há algum tempo e ainda não tive tempo de resolvê-lo.

    
por 08.07.2009 / 16:14
0

Para qualquer um que tenha esse problema, convém tentar usar o xcopy na linha de comando do Windows (cmd ou PowerShell) e desative o buffer de E / S de arquivo com a opção / j. É a maneira recomendada de copiar arquivos muito grandes. Digite "xcopy /?" para mais detalhes. (Esse parâmetro foi adicionado no Windows Server 2008 R2.)

    
por 01.09.2018 / 01:49