Priorização de arquivo de paginação em várias unidades [duplicado]

8

Estou gerenciando um servidor Dell R710 usado para alguns cálculos muito grandes de análise de elemento finito (FEA) não linear. Ocasionalmente, essas execuções ocuparão mais de 500 GB de memória alocada. Como esta máquina só tem atualmente 132 GB de RAM, essa alocação de memória adicional vem do arquivo de paginação.

O arquivo de paginação é atual em uma matriz de HDD em rotação e está causando um enorme gargalo. Eu investiguei o máximo de memória (288 GB) e adicionando um SSD de 750 GB Intel 750 NVMe como um disco de arquivo de paginação dedicado. Isso deve liberar parte do gargalo do IO do arquivo de paginação, mas quero ter certeza de que não maximizemos o arquivo de paginação e travemos uma execução grande.

Além de obter o Intel 750 de 800 GB para o tamanho máximo conhecido do arquivo de paginação de 864 GB (3x 288 GB), posso dizer ao Windows para usar o array HDD como um failover para espaço extra do pagedisk? Existe alguma maneira de priorizar o SSD como primário para o arquivo de paginação? Obrigado.

    
por Dan 29.09.2016 / 16:39

1 resposta

2

Você não é "obrigatório" para ter um arquivo de paginação na matriz do HDD. Você pode simplesmente removê-lo ou defini-lo para o mínimo absoluto, se você quiser Crash Dumps (o sistema operacional irá dizer-lhe quando você alterar o tamanho do arquivo de paginação individual na matriz HDD). Assumindo que a matriz é a localização do sistema operacional.

Isso forçará automaticamente as gravações no SSD, depois de usar o arquivo de paginação da unidade de partição do SO.

Ter o arquivo de paginação em uma matriz tem desvantagens. Cada gravação de página vai para um controlador e passa desnecessariamente pela lógica da placa controladora para determinar em qual (is) unidade (s) gravar a página. Um arquivo de paginação por natureza é um armazenamento temporário, portanto, não há nenhum benefício em ter qualquer tipo de RAID ou matriz (especialmente se um subsistema mais rápido, ou seja, SSD neste caso, estiver disponível).

Alguém pode perguntar "e os caches grandes encontrados na maioria dos controladores de array?" Esses não são úteis para o arquivo de paginação, novamente porque, por definição, o que está sendo paginado é o que não foi lido em algum momento, portanto, o cache provavelmente não será acessado para ler o arquivo de paginação de qualquer maneira. Um SSD com seu cache básico embutido será mais rápido que um cache de array nesse cenário.

Em sua situação muito particular (cálculos FEA), fica um pouco complicado, se o algoritmo precisa abranger toda a memória alocada regularmente. Então, o arquivo de paginação está sendo lido muito de volta. Nesse caso, qualquer cache grande em um controlador "poderia" ajudar dependendo da seqüência na qual seu algoritmo acessa a memória. Se causar mais do tipo de seqüência de acesso LIFO (last in first out), isso ajudará. Se for aleatório, então provavelmente benefício limitado. Se for FIFO (primeiro no primeiro a sair), então provavelmente vai doer.

Aleatórias afirmações do Microsoft MVP indicam que unidades mais rápidas serão favorecidas automaticamente por magia. Embora minhas observações empíricas ao longo dos anos mostrem que a unidade do sistema operacional é favorecida. Assim, a configuração acima faz com que ambas as suas preocupações sejam abordadas.

    
por 10.10.2017 / 04:59