일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- FTP7.5
- Xperf
- Windows Server 2016
- 터키여행
- ftp7.5 장애조치 클러스터
- SQL Server 2012R2 FCI
- MSCS on VMWare
- LiveKD
- nonpaged pool
- Local TempDB
- Nested VM
- Windows Server 2008
- paged pool
- windbg
- Session space
- windows update
- 안철수
- SQL Server 2008
- dsquery
- 인문고전
- windows debugging tool
- windows media service
- Hyper-V
- failover cluster
- cluster node as Domain controller
- iSCSI target
- 작업관리자
- 프로세스 CPU 사용량
- 클러스터
- Windows Server 2016 Hyper-v Cluster
- Today
- Total
류짱:Beyond MySelf
System PTEs 부족 현상 본문
Process Explorer를 실행하였는데 Insufficient system resources to get handle information 오류 메시지가 발생하고 프로그램이 실행 되지 않아 서버의 리소스를 확인 해 보니........
[환 경]
Windows server 2003 EE x86 + sp
/3G, PAE 옵션 사용
[증 상]
프로세스 익스플로러를 실행 시 Insufficient system resources to get handle information 오류 메시지 발생과 함께 해당 프로그램이 실행 되지 않음
[원인 분석]
Process exploerer 실행 시 이미 시스템 리소스가 부족 하다는 메시지가 발생 하였으므로 리소스 부족에 의해서 프로그램이 실행 되지 않은 것을 알 수 있기는 합니다만.....
실제 어떤 리소스가 부족한 건지 확인을 위해 Windows debugging tool을 이용해서 시스템 리소스를 다시 한번 확인 해 보았습니다.
Free System PTEs가 3537 이고 , PAE와 /3gb 옵션을 사용하고 있어서 nonpaged pool과 paged pool의 size가 크지 않음을 확인 하였습니다.
(참고: Windows server 커널 메모리 값=>http://ryuchan.kr/16)
lkd> !vm 1
*** Virtual Memory Usage ***
Physical Memory: 3079872 ( 12319488 Kb)
Page File: \??\C:\pagefile.sys
Current: 2095104 Kb Free Space: 1747112 Kb
Minimum: 2095104 Kb Maximum: 4190208 Kb
Available Pages: 1967903 ( 7871612 Kb)
ResAvail Pages: 2992397 ( 11969588 Kb)
Locked IO Pages: 304 ( 1216 Kb)
Free System PTEs: 3537 ( 14148 Kb)
******* 821 system PTE allocations have failed ******
******* 4804 system cache map requests have failed ******
Free NP PTEs: 0 ( 0 Kb)
Free Special NP: 0 ( 0 Kb)
Modified Pages: 621 ( 2484 Kb)
Modified PF Pages: 619 ( 2476 Kb)
NonPagedPool Usage: 9614 ( 38456 Kb)
NonPagedPool Max: 32511 ( 130044 Kb)
PagedPool 0 Usage: 15945 ( 63780 Kb)
PagedPool 1 Usage: 1362 ( 5448 Kb)
PagedPool 2 Usage: 1376 ( 5504 Kb)
PagedPool 3 Usage: 1380 ( 5520 Kb)
PagedPool 4 Usage: 1359 ( 5436 Kb)
PagedPool Usage: 21422 ( 85688 Kb)
PagedPool Maximum: 39424 ( 157696 Kb)
********** 7963 pool allocations have failed **********
Session Commit: 15458 ( 61832 Kb)
Shared Commit: 13169 ( 52676 Kb)
Special Pool: 0 ( 0 Kb)
Shared Process: 16740 ( 66960 Kb)
PagedPool Commit: 21446 ( 85784 Kb)
Driver Commit: 20821 ( 83284 Kb)
Committed pages: 1189076 ( 4756304 Kb)
Commit limit: 3546155 ( 14184620 Kb)
또한 성능 모니터링 툴 실행 후 Free System Page Table Entries 값 확인 결과 3,xxx 이었습니다.
Sytem PTEs가 5000보다 작을 경우에는 많은 성능 이슈가 발생 할 수 있습니다. 자세한 내용은 아래 참고 사이트에서 확인 하시기 바랍니다.
현재 발생하는 문제를 해결 할 수 있는 방법은 당연시 시스템 재 시작입니다. 시스템 재 시작 전 아래의 조치 사항을 확인 하시고 서버 설정을 변경 하시기 바랍니다.
[조치 사항]
system PTEs 값을 안정적으로 확보 하기 위해서는 /3G 옵션을 사용하지 않는 것이 좋습니다. 만약 꼭 사용 해야만 한다면........
Userva 옵션을 이용해서 커널 리소스를 조금 더 확보 할 수 있습니다.
만약 /3gb를 무조건 사용해야 한다면 /userva 옵션 사용하여 값을 변경 할 것을 권장합니다.
http://support.microsoft.com/kb/316739/ko
또한 PTEs 사용 드라이버 추적을 위한 System PTEs 의 Stack Trace 설정후 레지스트리에서 아래 값을 추가하여 PTEs 값을 추적 할 수 있습니다.
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management
값 이름: TrackPtes
값 형식: REG_DWORD
값 데이터: 1
위 레지스트리 추가 후 로컬 디버깅 연결 후 !sysptes 4를 입력하면 PTEs를 사용중인 드라이버들을 확인 할 수 있습니다.
Sytstem PTE 란?
System PTEs 즉 시스템 페이지 테이블 엔트리란 I/O공간, 커널 스택, 메모리 디스크립터 리스트 같은 시스템 페이지들을 동적으로 맵핑하는데 사용합니다. 시스템 PTE는 무제한적인 리소스는 아니며 32bit 윈도우 시스템에서 시스템 PTE는 2G의 연속적인 시스템 가상 주소 공간을 이론적으로 나타 낼 수 있을 만큼의 개수를 가집니다.
62bit에서는 128G의 연속적인 가상 주소 공간을 나타 낼 수 있을 만큼의 개수를 가집니다.
PTEs에 관해서 좀더 알고 싶으시면 아래 블로그를 참고 하십시오.
Terminal Server and PTEs
http://blogs.technet.com/b/askperf/archive/2012/06/12/terminal-server-and-ptes.aspx
감사합니다.
[참고 사이트]
4GB RAM 조정 기능 및 실제 주소 확장(PAE) 매개 변수에 대한 설명
http://support.microsoft.com/kb/291988
/userva 스위치를 /3GB 스위치와 함께 사용해서 사용자 모드 공간을 2GB에서 3GB 사이의 값으로 조정하는 방법
http://support.microsoft.com/kb/316739/ko
Clint’s Windows Performance]Free SysPTEs 부족
Windows XP 및 Windows Server 2003의 64비트 버전에서 32비트와 64비트 메모리 아키텍처 비교
http://support.microsoft.com/kb/294418