Exchange Server 2003의 메모리 사용 최적화

 

마지막으로 수정된 항목: 2005-05-25

Microsoft Exchange Server 2003을 실행하고 있는 서버에 1GB 이상의 실제 메모리(RAM)가 설치되어 있는 경우에는 Exchange 2003에서 해당 메모리를 효율적으로 사용할 수 있는지 확인해야 합니다. 하드웨어 구성, 데이터베이스 수 및 서버의 사용자 수와 관계없이 Exchange Server 2003의 Exchange 정보 저장소(Store.exe) 프로세스에는 주소를 지정할 수 있는 한정된 크기의 메모리가 있으며 이 크기를 가상 주소 공간이라고 합니다. 대부분의 시나리오에서는 정보 저장소에 대한 이 가상 주소 공간의 사용량에 따라 Exchange Server 2003 사서함 서버의 전체 성능과 확장성이 결정됩니다. 중소형 서버의 경우 Exchange Server 2003에서 자동으로 최상의 균형을 유지시킵니다. 그러나 대형 서버의 경우에는 아래에 자세히 설명된 튜닝 매개 변수의 일부 또는 전체를 수동으로 조정할 수도 있습니다.

메모리 사용량 모니터링

이벤트 뷰어와 성능 로그 및 경고를 사용하여 Exchange Server에서 가상 메모리 문제를 모니터링할 수 있습니다. 사용 가능한 가상 메모리 블록 중 가장 큰 블록이 32MB로 줄면 응용 프로그램 로그에 이벤트 ID 9582 경고가 표시됩니다. 이 경고가 표시되면 나중에 Exchange 저장소 프로세스를 다시 시작해야 합니다. 사용 가능한 가장 큰 블록이 16MB로 줄면 이벤트 ID 9582 오류가 다시 표시됩니다. 이 오류는 서버에 오류가 발생할 수 있으므로 최대한 빠른 시간 안에 서버를 다시 시작해야 한다는 뜻입니다. 이러한 이벤트에 대해 조치를 취하지 않으면 메일이 제대로 배달되지 않고 IMAIL 변환이 수행되지 않을 수 있습니다(이벤트 ID 12800).

자세한 내용은 Exchange 서버에서 메모리 사용 모니터링 방법을 참조하십시오.

서버에 가상 주소 공간이 부족하다는 신호가 있을 경우 다음 설정을 조정해야 합니다. 이러한 설정이 Exchange에 맞게 최적화되지 않으면 응용 프로그램 이벤트 로그에 이벤트 9665가 표시됩니다.

이벤트 9665

저장소 프로세스가 시작되면 Exchange에서 메모리가 최적으로 구성되어 있는지 검사합니다. 메모리 설정이 최적화되지 않으면 이벤트 뷰어에 이벤트 9665가 나타납니다. 이 메시지는 다음과 같은 경우에 표시됩니다.

  • 서버에서 Windows 2000 Server를 실행하고 있고 레지스트리의 값이 24,000 - 31,000 범위를 벗어났습니다.
  • 서버에 1GB 이상의 메모리가 있고 /3GB 스위치가 없습니다.
  • 서버에서 Windows Server 2003을 실행하고 있고 메모리가 1GB 이상이며 /3GB 스위치가 설정되어 있지만 /USERVA 스위치가 없거나 3030으로 설정되어 있지 않습니다.

서버가 최적으로 구성되어 있으므로 이벤트 9665가 기록되지 않도록 하려면 이벤트 9665의 로깅을 생략합니다. 자세한 내용은 메모리 구성 알림 이벤트 생략 방법을 참조하십시오.

/3GB 스위치 설정

기본적으로 Windows 2000 Advanced Server와 Windows Server 2003에서는 Store.exe와 같은 사용자 모드 프로세스에 2GB의 가상 주소 공간을 할당합니다. 서버에 1GB 이상의 실제 메모리가 있으면 Boot.ini 파일에서 /3GB 스위치를 설정하여 가상 주소 공간을 늘리십시오.

/3GB 스위치를 설정하는 방법에 대한 자세한 내용은 Windows에서 /3GB 시작 스위치 설정 방법을 참조하십시오.

/USERVA 스위치 및 SystemPages 레지스트리 값 설정

서버에서 Windows 2000을 실행하고 있으면 SystemPages 레지스트리 값을 24,000과 31,000 사이로 설정해야 합니다. 서버에서 Windows Server 2003을 실행하고 있으면 SystemPages 값을 0으로 설정하고 Boot.ini 파일에서 /USERVA=3030 시작 스위치를 설정합니다. 이러한 설정을 이용하여 시스템 페이지 테이블 항목을 서버에 더 많이 입력할 수 있으며 이는 확장되는 시스템에 매우 중요합니다.

/USERVA 스위치는 Windows Server 2003에 새로 추가되었습니다. 이 스위치의 용도는 사용자 모드 프로세스와 커널 모드 프로세스 간에 가상 주소 공간의 분배를 정교하게 제어하려는 것입니다. 이 스위치는 Exchange Server 2003과 같이 해당 스위치를 지원하는 응용 프로그램과 해당 응용 프로그램에서 지원하는 특정 값에만 사용해야 합니다. Exchange Server 2003 시스템에서 사용할 때 /USERVA는 항상 3030(예: /USERVA=3030)이어야 합니다. 이 값으로 인해 40MB가 운영 체제에 추가로 할당되며 사용 가능한 모든 시스템 리소스를 사용하지 않고 더 많은 사용자를 추가할 수 있습니다.

Windows 2000에서 SystemPages 레지스트리 값을 구성하는 방법에 대한 자세한 내용은 Windows 2000의 시스템 페이지 테이블 항목 증가 방법을 참조하십시오.

/USERVA 시작 스위치를 구성하는 방법에 대한 자세한 내용은 Windows에서 /USERVA 시작 스위치 설정 방법을 참조하십시오.

HeapDeCommitFreeBlockThreshold 레지스트리 값 설정

HeapDeCommitFreeBlockThreshold 레지스트리 값은 힙 관리자가 메모리 커밋을 해제하거나 메모리를 확보하기 전에 필요한 사용 가능한 공간을 제어합니다. 기본값은 0이며 이 값은 사용 가능한 4KB 페이지마다 힙 관리자가 커밋을 해제함을 의미합니다. 시간이 지나면 가상 주소 공간이 조각날 수 있습니다. 실제 메모리가 1GB 이상인 서버에서는 레지스트리 키를 더 큰 값으로 설정하여 조각화를 줄여야 합니다.

HeapDeCommitFreeBlockThreshold 레지스트리 값을 설정하는 방법에 대한 자세한 내용은 HeapDeCommitFreeBlockThreshold 레지스트리 값 설정 방법을 참조하십시오.