안녕하세요 빛향기고운데 입니다.

오늘은 Exchange Server에서 Memory때문에 Kernel issues가 생기는 문제에 대하여 다뤄보도록 하겠습니다.


64-bit & 32-bit

* Addressable Memory
  * 32-bit = 2 의 32승 = 4GB maximum memory
  * 64-bit = 2 의 64승 = 18 Exabyte maximum memory
     * Current hardware restricts memory to between 16 and 64GB

* More memory = larger cache
   * Larger cache = less IOPS/user
     * Less IOPS/user (75% less )
     * Less IOPS = 4x users per disk or 1/4 disks required)

* More memory = no more kernel errors
* More memory = no more VM fragmentation
* More memory = meet growing demands


  No switches



  /3GB



  /3GB and /USERVA




PAE & AWE

* PAE(Physical Address Extension)
  * A function of the Windows 2000/2003 memory managers that provides more physical memory to a
    program that requests memory
  * The progrma is not aware that any of the memory that it uses resides in the range 4GB +

* AWE(Address Windowing Extensions)
  * An API set that enables programs to reserve large chunks of memory
  * The reserved memory is non-pageable and is only accessible to that program


Boot.ini Ortions for Exchange 2003 on Windows 2003
 Exchange 2003 Server Role Physical Memory Config  Additions Made to Boot.ini 
 Mailbox  1GB   /3GB /USERVA=3030 
 Public Folder  1GB   /3GB /USERVA=3030 
 Front End(FE)  1GB   None
 SMTP
Gateway/Bridgehead
 1GB   None
 SMTP
Gateway/Bridgehead
(Envelope Journaling)
 1GB   /3GB /USERVA=3030 
 MTA/X.400/3rd Party
Connector Bridgehead
 1GB   /3GB /USERVA=3030 


* /PAE

The Physical Address Extension (PAE) allows 32-bit Windows systems to use more than 4 GB of physical memory. PAE also enables several advanced system and processor features so it can also be used on computers that have less than 4 GB of memory. Features enabled by PAE include hardware-enabled Data Execution Prevention (DEP), non-uniform memory access (NUMA), and the ability to add memory to a system while it is running (hot-add memory).

On most computers, PAE is disabled by default. (PAE is enabled by default only if DEP is enabled on a computer that supports hardware-enabled DEP, or if the computer is configured for hot-add memory devices in memory ranges beyond 4 GB.) PAE must be explicitly enabled for Windows to run in NUMA mode on a NUMA-capable computer.

To enable PAE, use the BCDEdit /set command to set the pae boot entry option.

Windows Server 2003 and Windows XP/2000:  To enable PAE, use the /PAE switch in the Boot.ini file. To disable PAE, use the /NOPAE switch.

With PAE enabled, the operating system moves from two-level linear address translation to three-level address translation. The extra layer of translation provides access to physical memory beyond 4 GB. Instead of a linear address being split into three separate fields for indexing into memory tables, it is split into four separate fields: a 2-bit field, two 9-bit fields, and a 12-bit field that corresponds to the page size implemented by Intel Architecture (4 KB).

PAE, 4-gigabyte tuning (4GT), and Address Windowing Extensions (AWE) serve different purposes and can be used independently of each other:

  • PAE allows the operating system to access and use more than 4 GB of physical memory.
  • 4GT extends the 32-bit user virtual address space from 2 GB to up to 3 GB.
  • AWE is a set of APIs that allows a process to allocate nonpaged physical memory and then dynamically map portions of this memory into the virtual address space of the process.

When neither 4GT nor AWE are being used, the amount of physical memory that a single 32-bit process can use is limited by the size of its address space (2 GB). In this case, a PAE-enabled system can still make use of more than 4 GB of RAM to run multiple processes at the same time or to cache file data in memory.

4GT can be used with or without PAE. However, some versions of Windows limit the maximum amount of physical memory that can be supported when 4GT is used. On such systems, booting with 4GT enabled causes the operating system to ignore any memory in excess of the limit. For details, see Memory Limits for Windows Releases.

AWE does not require PAE or 4GT but is often used together with PAE to allocate more than 4 GB of physical memory from a single 32-bit process.



Windows Server 2003에서는 서버가 핫 추가 메모리 장치를 사용하는 경우에만 PAE가 자동으로 설정됩니다. 이 경우 핫 추가 메모리 장치를 사용하도록 구성된 시스템에서는 /PAE 스위치를 사용할 필요가 없습니다. 다른 모든 경우에 4GB 이상의 메모리를 이용하려면 Boot.ini 파일에서 /PAE 스위치를 사용해야 합니다.

일반적으로 Windows 2000이나 Windows Server 2003에서 실행되는 프로세스는 /3GB 스위치를 사용하지 않는다고 가정할 때 최대 2GB의 메모리 주소 공간에 액세스할 수 있으며 이 메모리 중 일부는 실제 메모리이고 일부는 가상 메모리입니다. 프로그램과 프로세스를 더 많이 실행하면 최대 2GB의 주소 공간까지 메모리를 더 많이 커밋하게 됩니다.

이런 상황이 발생하면 페이징 프로세스가 크게 증가하여 성능에 나쁜 영향을 미칠 수 있습니다. Windows 2000 및 Windows Server 2003 메모리 관리자는 PAE를 사용하여 프로그램에 더 많은 실제 메모리를 제공합니다. 이렇게 하면 페이지 파일의 메모리를 스왑할 필요성이 줄어들어 성능이 향상됩니다. 프로그램 자체는 실제 메모리 크기를 인식하지 못합니다. 모든 메모리 관리와 PAE 메모리의 할당은 실행되는 프로그램에 관계없이 메모리 관리자에 의해 처리됩니다.

앞의 정보는 /3GB 스위치를 사용하여 실행하는 프로그램에 해당됩니다. 3GB 메모리를 요청하는 프로그램은 페이징 아웃하는 대신 실제 메모리에 더 많은 메모리가 남아 있도록 할 수 있습니다. 이렇게 하면 /3GB 스위치를 사용할 수 있는 프로그램의 성능이 좋아집니다. 예외는 /3GB 스위치를 /PAE 스위치와 함께 사용할 때 발생합니다. 이 경우 운영 체제는 16GB를 초과하는 메모리를 사용하지 못합니다. 이 문제는 커널 가상 메모리 공간의 고려 사항으로 인해 발생합니다. 이렇게 Boot.ini 파일에서 /3GB 항목을 사용하여 시스템을 다시 시작하고 시스템의 실제 메모리가 16GB보다 큰 경우 운영 체제는 추가 실제 RAM을 사용하지 않습니다. /3GB 스위치를 사용하지 않고 컴퓨터를 다시 시작하면 실제 메모리를 모두 사용할 수 있습니다.

AWE는 메모리 관리자 기능에 대한 API(응용 프로그래밍 인터페이스) 집합으로 프로그램이 표준 32비트 주소 지정을 통해 4GB보다 큰 사용 가능한 메모리를 주소 지정할 수 있게 해 줍니다. AWE를 사용하면 프로그램은 실제 메모리를 비페이징 메모리로 예약한 다음 비페이징 메모리 일부를 프로그램의 메모리 작업 집합에 동적으로 매핑할 수 있습니다. 이 프로세스를 사용하면 대형 데이터베이스 시스템처럼 메모리를 많이 사용하는 프로그램이 페이지 파일을 사용하기 위해 페이징 인/아웃할 필요 없이 많은 실제 메모리를 데이터용으로 예약할 수 있습니다. 대신 데이터는 작업 집합에서 스와핑되며 예약된 메모리는 4GB 범위를 초과합니다. 또한 4GB를 초과하는 메모리 범위는 PAE에 의해 AWE 기능 및 메모리 관리자에 노출됩니다. PAE 없이는 AWE가 4GB를 초과한 메모리를 예약할 수 없습니다.

다음은 PAE 스위치가 추가된 Boot.ini 파일의 예입니다.
[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(2)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(2)\WINDOWS="Windows Server 2003, Enterprise" /fastdetect /PAE




/3GB Switch


-> 기본적으로 Windows는 총 4GB의 가상 주소 공간을 주소 지정할 수 있습니다. 기본적으로 이 중 2GB는
     커널(운영 체제)용으로 예약되고 나머지 2GB는 Exchange 같은 사용자 모드 프로그램용으로 예약됩니다.

    운영 체제의 Boot.ini 파일에 /3GB 스위치를 추가하면 사용자 모드 프로그램에 3GB의 공간을 제공하고
    커널을 1GB로 제한하도록 가상 주소 공간 분배가 다시 할당됩니다. /3GB 스위치는 사서함 저장소나
    공용 폴더 저장소가 있는 컴퓨터에서만 필요합니다. 사서함 저장소나 공용 폴더 저장소가 없는 컴퓨터에서는
    이 스위치를 사용하지 않는 것이 좋습니다.


*  /3GB 사용가능 운영체제

Microsoft Windows Server 2003 Datacenter Edition
Microsoft Windows Server 2003 Enterprise Edition
Microsoft Windows 2000 Advanced Server
Microsoft Windows 2000 Datacenter Server
Microsoft Windows NT 4.0 Enterprise Server

* /3GB 사용 불가능 운영체제
Microsoft Windows 2000 Server
Microsoft Windows NT 4.0 Server
-> /3GB스위치 사용하면 커널용으로 1GB와 사용자 모드 프로그램용으로 2GB가 할당되어 1GB의 주소공간이
    손실 됩니다.




메모리 부족이 발생하면 가상 메모리 조각화가 발생하여 문제를 information store 서비스가 비정상 동작하게 된다.

관련 성능 카운터
(1) MSExchangeIS - VMLargest Block Size
가상 메모리의 가장 큰 free block 크기를 byte 크기로 알려 줍니다.
이 값이 32MB 이하가 되면 9582 이벤트가 경고로 발생하고
16MB 이하가 되면 에러로 이벤트가 남게 됩니다.
이 값은 32MB 이하로 내려가서는 안 됩니다.
(2) MSExchangeIS – VM Total 16mb Free Blocks
16MB 이상의 가상 메모리 블록의 개수를 나타내고 1 밑으로 값이 떨어져서는 안 됩니다.
(3) MSExchangeIS – VM Total Free Blocks
크기와 상관없이 가용한 가상 메모리 블록크리의 총 개수를 나타냅니다.
역시 1 밑으로 값이 떨어져서는 안 됩니다.
(4) MSExchangeIS – VM Total Largest Free Block Bytes
16MB 이상이ㅡ 크기를 가지는 가상 메모리들만의 총 바이트 입니다.
50MB 밑으로 떨어져서는 안 됩니다.

관련 성능 카운터의 임계치를 넘어서면
이벤트 9582를 발생시킨다. 해당 이벤트를 만나면 서비스를 재시작하여 큰 문제를 막아야 한다.





Troubleshooting Kernel Memory

1.Ensure Exchange server configuration is correct. Run ExBPA
2.Isolate which Kernel Memory space is being exhausted (PP, NPP or PTE’s)
a.Analyze Events
b.Analyze Perfmon
3.Determine what is causing the specific Kernel Memory space exhaustion
4.Take corrective action






 


291988 (http://support.microsoft.com/kb/291988/) 4GB RAM 조정 기능 및 PAE(실제 주소 확장) 스위치에
          대한 설명
300573 (http://support.microsoft.com/kb/300573/) XGEN: Windows 2000 Datacenter Server에서의
          Exchange 2000 Enterprise Server 지원
266096 (http://support.microsoft.com/kb/266096/) XGEN: 1GB 이상의 실제(Physical) RAM을 가진
          Exchange 2000 서버에서 /3GB 스위치가 필요하다
298064 (http://support.microsoft.com/kb/298064/) Exchange 2000 Server에 대한 확장성 계획
266650 (http://support.microsoft.com/kb/266650/) Windows 2000 Datacenter Server 기반 컴퓨터에서의
          BackOffice 프로그램 지원 정보
317411 (http://support.microsoft.com/kb/317411/) XADM: Exchange 가상 메모리 문제를 해결하기 위해
          데이터를 수집하는 방법
266768 (http://support.microsoft.com/kb/266768/) Exchange 2000 Server에서 저장소 데이터베이스 최대 캐시
          크기를 수정하는 방법
823440 (http://support.microsoft.com/kb/823440/) Windows Server 2003 기반 시스템에 Exchange Server 2003
          을 설치한 경우 /3GB 스위치를 사용해야 한다
사업자 정보 표시
(주)코레이즈 | 김창현 | 경기도 성남시 분당구 장미로42 5층 | 사업자 등록번호 : 144-81-08126 | TEL : 02-1833-5805 | Mail : sales@coraise.co.kr | 통신판매신고번호 : 호 | 사이버몰의 이용약관 바로가기

+ Recent posts