Esta resposta é para a segunda parte da pergunta do OP - "posso fazer algo sobre isso?" Sim!
O Windows Vista e versões posteriores permitem que você especifique algo chamado "Arquivo de Dump Dedicado". (Eu vou usar DDF para breve).
Pense nisso como um arquivo de paginação, mas o sistema operacional foi avisado para nunca usá-lo para um arquivo de paginação (mantendo assim a E / S do seu arquivo de paginação real em sua unidade de paginação). Mas porque é "como um arquivo de paginação" o sistema operacional pode usá-lo para armazenamento temporário das informações de despejo no tempo BSOD. Após a reinicialização, ele será copiado para o arquivo de despejo especificado da maneira normal.
Além disso, o DDF nem precisa estar na sua partição de inicialização! Pode estar em "qualquer volume local que possa suportar um arquivo de paginação". (Isso elimina unidades removíveis, como qualquer coisa em USB e armazenamento em cluster do Windows.)
A configuração é fácil, mas não há interface do usuário, portanto, é necessário que o registro seja refinado.
Na chave de registro HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\CrashControl
, crie um valor chamado DedicatedDumpFile
do tipo REG_SZ. Configure a string para o caminho completo para onde você deseja que o DDF seja. Você não precisa pré-criar o arquivo sozinho. Por exemplo, C:\DUMPTEMP.SYS
Por padrão, o sistema operacional definirá seu tamanho para RAM + 256 MB. Você pode especificar o tamanho manualmente com outro valor de registro na mesma chave: Nome do valor DumpFileSize
, tipo REG_DWORD, valor = o tamanho desejado em megabytes . E esses seriam "megabytes binários" no estilo da Microsoft. Então, se você quer que ele seja "4 GB", na verdade, "4 GiB", você deve usar 1024 para o valor aqui.
Mais informações estão em este artigo do MSDN .
Enquanto estou aqui, no entanto, eu me sentiria negligente se não tivesse apontado que "um arquivo de paginação fisicamente separado" geralmente faz pouca diferença a menos que você esteja acessando muito ... e se você estiver, seria muito mais eficaz para adicionar RAM.
Todos os exe's, dll e outros arquivos mapeados que todos os seus processos estão usando? Esses são, na verdade, arquivos de paginação também! Portanto, mover seu arquivo de paginação para outra unidade isola apenas a E / S de paginação desse arquivo. Seu sistema ainda estará paginando e, em alguns casos, todos os outros arquivos mapeados na memória em sua unidade do sistema operacional.
Da mesma forma, desabilitar o seu arquivo de paginação não elimina a paginação do disco (e certamente não desativa a memória virtual) - elimina apenas um dentre os vários arquivos centenas dos quais as páginas do SO.
Mover seu único arquivo de paginação para um disco por si só, no entanto, permite que você use os contadores de desempenho de E / S de disco para essa unidade para descobrir quanto E / S do arquivo de paginação seu sistema está realmente fazendo. Não há outra maneira de fazer isso, já que os contadores do PerfMon, como "E / Ss de leitura de página", incluem a E / S de leitura da página em todos esses arquivos mapeados na memória, como exe e dll.