Memory 용어
Page
- Memory의 가장 작은 단위
- 32Bit, 64Bit : 4KB
- IA64 : 8KB
Paging
- Physical Memory양 수정을 위해 Memory의 Content를 Disk로 옮김
Shared Memory
- exe, dll의 경우 같은 Path를 사용하므로 자동으로 해당 Memory를 Share한다.
Trimming the Working SEt
- 가장 오래전에 Access한 Page를 Working Set에서 Page Out한다.
Process(*)\Virtual Bytes
- Process 별 Virtual Memory 사용량
- Reserved and Committed User Memory 의 총합
x86 : 2GB
x86 without LargeAddressAware on a system with the 3GB : 2GB
x86 with LargeAddressAware on a system with the 3GB : 3GB
x86 with /LargeAddressAware on a system with the 3GB and /UIserVA : Same Value UserVA
x86 with /LargeAddressAware on a system running x64 Windows : 4GB
x64 : 8TB
- wmic PAth win32_operatingSystem Get MaxProcessMemorySize
- Critical : 80~100% 사용 시 곧 Crash가 일어날 수 있음(제외 : Sql Server)
Memory\Free System Pate Table
- Warning : 8000~12000 OS에 에러가 발생하고 느려질 수 있음
- Critical : 8000개 이하 OS가 죽거나 행이 될 수 잇음
Memory\Pool Paged Bytes Pool NonPaged Bytes
- Warning : 60~80% 서버가 행이나 셧다운 될 수 있음
- Critical : 80~100% 성능 이슈와 Application, Service의 성능에 심각한 이슈가 있을 수 있음
Memory\Commit Limit
- Commit 메모리의 최대 값을 측정함
- Physical Memory + Page File 사용 Size
- Commit Limit에 도달하면 시스템은 Out of Memory가 된다.
새로운 Application을 사용할 수 없음
Memory\Committed Bytes
- 커널과 Application에서 사용하는 Committed Memory 총 Size
- % Committed Bytes in use : Commit Memory 사용 %를 의미하며 100이 되면 Physical, Page File Size를 모두 사용하고 있음을 의미함
- Warning : 60~80% Server가 갑자기 느려지거나 Page File 사용량이 많아 Hang의 위험은 있음
- Critical : 80~100% Server, Service, Application이 극심한 성능 이슈를 가질 수 있음
Process\Working Set
- Working Set : Process가 사용하는 Ram의 양(Physical Memorry)
- Process의 Working Set Size는 Kernel이 관리함
- Working Set Trimming은 남은 Memory양에 따라 발생할 수 있다.
- Page Fault : Page Memory에 접근할 때 발생
- Soft Page Fault : 해당 Physical Memory에 없어 다른 Memory에서 Data를 가지고 옴
- Hard Page Fault : 해당 Physical Memory에 없어 PAge File에서 Data를 가지고 옴
(Memory\Pages/Sec : Hard Page Fault 측정)
- Waring : Availability Ram이 10%보다 적을 경우, Working Set의 합이 60~80%인 경우
- Critical : Availability Ram이 1%보다 적을 경우, Working Set의 합이 80%이상일 경우
Memory\Pages/Sec
- Hard Page Fault 측정
- Memory\Pages/Sec이 높다고 Memory 부족이나 Leak을 의심할 수는 없다.
- Low Available MBytes, high Pages/sec, Poor Page File Response Time일 경우 RAM 부족을 말할 수 있다.
- High Pages/sec의 의미
1) 새로운 Application 시작
2) Memory Mapped File
3) Page File Read / Write
Memory\Available MBytes
- Physical Memory 사용량을 측정
- Zero, Free, Stanby Page List의 합
- Warning : 10%보다 적은경우
- Critical : 1% 미만 or 100 MB보다 적은 경우
Process\Private Bytes
- Committed Memory Leak 을 찾을 수 있는 Counter
- RAM(Working Set) 또는 Disk(Page File)에서 사용하는 프로세스의 Committed Memory 의 총양
- Memory Leak은 Thread Count와 Handle Count로 인해 발생한다.
|
32 Bit OS |
64 Bit OS |
Private Byte |
250MB |
500MB |
Working Set |
250MB |
500MB |
Thread Count |
500 Thread |
1000 Thread |
Handle Count |
500 Handle |
1000 Handle |
- Committed Memory가 높다면 해당 Count를 확인하여 Memory Leak을 확인한다.
|
Virtual Bytes |
Private Bytes |
Working Set |
Memory 종류 |
Reserve and Committed |
Committed |
RAM 사용량 |