윈도우 서버에서 종료시간이 비정상적으로 오래 걸리는 경우

윈도우 서버 2008 R2를 새로 설치한 서버에서, 각종 셋팅 및 윈도우 업데이트를 좀 설치하고 리부팅 하려 했더니, 황당하게도 무려 2시간동안 종료하는 중 동그라미만 돌아간다고...


윈도우를 종료하는데 오랜 시간이 걸린다면 당연히 여러가지 이유가 있을 수 있겠지만, 이처럼 비정상적으로 오래 걸린다면 아래 문제를 의심해 볼 수 있다.

회사 보안 정책에 따라 시스템 종료: 가상 메모리 페이지 파일 지움 정책을 적용한 경우


이 정책을 적용하면 종료할 때 윈도우가 pagefile.sys 파일을 완전히 지운다. 그런데 이 지운다는 말이 파일을 삭제한다는 뜻이 아니라 Zero-Fill 한다는 것이다. 그러니까 파일을 0으로 채운다는 뜻이다.

따라서 하드디스크 쓰기 속도가 매우 느린 구형 서버에서 pagefile.sys 파일의 사이즈가 큰 경우 이렇게 시스템 종료시간이 비정상적으로 오래 걸릴 수 있다.

해당 정책은 위 그림처럼 로컬 보안 정책 - 로컬 정책 - 보안 옵션에서 설정할 수 있다. 원래 기본 값이 "사용 안 함"인데 회사 보안 정책으로 사용으로 설정되어 있을 수도 있다. 끄려면 "사용 안 함"으로 변경하면 되고

아래와 같이 레지스트리 수정으로도 정책을 변경할 수 있다.

종료시 페이지 파일 지움

reg add "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v ClearPageFileAtShutdown /t REG_DWORD /d 1 /f

종료시 페이지 파일 지우지 않음

reg add "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v ClearPageFileAtShutdown /t REG_DWORD /d 0 /f


참고로 아레 레지스트리는 시스템 종료를 빠르게 하기 위해 내가 사용하는 값이다. 

reg add "HKLM\SYSTEM\CurrentControlSet\Control" /v WaitToKillServiceTimeout /d 100 /f
reg add "HKCU\Control Panel\Desktop" /v AutoEndTasks /d 1 /f
reg add "HKCU\Control Panel\Desktop" /v HungAppTimeout /d 100 /f
reg add "HKCU\Control Panel\Desktop" /v WaitToKillAppTimeout /d 100 /f
reg add "HKU\.DEFAULT\Control Panel\Desktop" /v AutoEndTasks /d 1 /f
reg add "HKU\.DEFAULT\Control Panel\Desktop" /v HungAppTimeout /d 100 /f
reg add "HKU\.DEFAULT\Control Panel\Desktop" /v WaitToKillAppTimeout /d 100 /f


각각의 의미를 알고 싶다면 아래 TechNet 문서를 참조하기 바란다.

http://technet.microsoft.com/en-us/library/cc976045.aspx
http://technet.microsoft.com/en-us/library/cc978604.aspx
http://technet.microsoft.com/en-us/library/cc978614.aspx
http://technet.microsoft.com/en-us/library/cc978624.aspx