류짱:Beyond MySelf

MmSt pool tag 본문

Microsoft/Windows Platform

MmSt pool tag

リュちゃん 2011. 10. 6. 15:51

MmSt pool tag가 어디에 무엇에 사용되는지 왜 많은 paged pool 메모리를 사용하는 지 이해가 되지 않았었는데 아래 블로그를 보니 완전 입감되네요..

Getting to Know the MmSt Pool Tag
http://blogs.technet.com/b/askperf/archive/2011/09/23/getting-to-know-the-mmst-pool-tag.aspx

What is the MmSt pool tag?
The MmSt pool tag is used by the Memory Manager when reserving memory for section prototype PTEs. A prototype PTE is a structure that maps the physical location of a page or set of pages to a memory mapped file. The MmSt allocations reside in Paged Pool memory. MmSt allocations are most commonly seen when the system is under heavy file I/O and has many open files mapped into the memory cache. The Cache Manager should reduce its MmSt allocations when paged pool memory pressure occurs, but this may not always happen quickly enough to prevent some issues.
 
Common Symptoms
The symptoms for issues dealing with high MmSt paged pool usage are common to most other paged pool depletion issues including:
•Server hangs
•Event ID 2020 – Paged Pool depletion
•Event ID 333 - An I/O operation initiated by the Registry failed
•Users are unable to RDP or access file shares on the server
•Backups or large file copies fail with insufficient resources
oError 1450: Insufficient resources exist to complete the requested server
oError 1130: Not enough server storage is available to process this command
•SQL backups or consistency checks performing heavy file I/O will fail to complete
 
Most Common Root Causes for high MmSt pool usage
•The Memory Manager cannot trim paged pool memory quickly enough before allocations start failing
•Heavy file I/O because too many files or large files are opened simultaneously
•Outlook .PST/Lotus Notes .NSF files being stored on the server and opened over the network
•VSS (Volume Shadow Copy) snapshots aren’t dismounting
•Large $MFT due to fragmentation or many files on the volume



실제로 아래 로그는 Windows Server 2008 x86 머신에서 메모리 덤프(64G)를 외장하드로 Copy하는 중에 Paged Pool의 사용량이 계속 증가하여 Poolmon을 이용해서 어떤 녀석이 많은 메모리를 사용하는지 확인 해보니 역시나~ MmSt가 많은 메모리를 사용하였습니다. ^^

덤프 파일 copy 완료 후 USB를 제거하는 순간 MmSt의 Paged pool 사용량은 현저히 줄어 들었습니다.

[Poolmon을 이용한 paged pool 사용량]

Windows Server 2008 EE x86 + SP2
Physical memory: 64G 


[참고 자료]
Backup program is unsuccessful when you back up a large system volume
http://support.microsoft.com/kb/304101/en-us

서버가 시스템의 페이지된 풀에서 메모리를 할당할 수 없다
http://support.microsoft.com/kb/312362/ko

Tracking down MmSt paged pool usage
http://blogs.msdn.com/b/ntdebugging/archive/2008/05/08/tracking-down-mmst-paged-pool-usage.aspx

감사합니다.^^