TL; WR : o problema era o tamanho do arquivo de paginação. Ao desabilitar a limpeza do arquivo de paginação no encerramento, o tempo de desligamento passou de mais de 5 minutos para apenas 9 segundos. Se eu mantivesse isso ativado, mas diminuísse o tamanho do arquivo de paginação, era possível reduzir o tempo de desligamento para 41 s a 4583 MB.
A primeira coisa que me levou a pensar que o problema poderia ser causado pelo arquivo de paginação era este artigo . Eu fiz como eles sugeriram e alterei a entrada de registro HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\ClearPageFileAtShutdown
de 1
para 0
. Depois de fazer isso e reiniciar, o tempo de desligamento é de 9 segundos (menos de 5 minutos). Isso deixou claro que o problema era o próprio arquivo de paginação.
Após a verificação, descobri que o Windows definiu o arquivo da página como sendo de cerca de 20 GB. Decidi então reativar a limpeza do arquivo de paginação e reduzi o tamanho do arquivo de paginação para cerca de 5 GB (por incrível que pareça, 4853 MB foi o tamanho recomendado pelo Windows, embora o tamanho "Sistema gerenciado" estivesse em torno de 20 GB). Depois de fazer isso, o tempo de desligamento foi atingido em 41 segundos. Decidi que deixarei a limpeza do arquivo de paginação desativada.