!memusage
!memusage 확장은 실제 메모리 사용에 대한 요약 통계를 표시합니다.
구문
!memusage [Flags]
매개 변수
플래그
다음 값 중 하나일 수 있습니다. 기본값은 0x0.
0x0
PFN 데이터베이스의 페이지에 대한 자세한 설명과 함께 일반 요약 정보를 표시합니다. 이러한 유형의 출력에 대한 예제는 설명 섹션을 참조하세요.
0x1
PFN 데이터베이스에서 수정된 쓰기 안 됨 페이지에 대한 요약 정보만 표시합니다.
0x2
PFN 데이터베이스에서 수정된 쓰기 안 됨 페이지에 대한 자세한 정보만 표시합니다.
0x8
메모리 사용에 대한 일반 요약 정보만 표시합니다.
환경
모드: 커널 모드만
DLL
Kdexts.dll
추가 정보
실제 메모리 통계는 메모리 관리자의 PFN(페이지 프레임 번호) 데이터베이스 테이블에서 수집됩니다.
이 명령은 특히 대상 컴퓨터가 64비트 모드에서 실행되는 경우 더 많은 양의 데이터를 얻을 수 있기 때문에 실행하는 데 시간이 오래 걸립니다. PFN 데이터베이스를 로드하는 동안 카운터에 진행률이 표시됩니다. 이 로드 속도를 높이려면 네트워크 연결을 사용하거나 CTRL+A(전송 속도 설정/해제) 키를 사용하여 COM 포트 속도를 높이거나 .cache(캐시 크기 설정) 명령을 사용하여 캐시 크기를 10MB 정도 늘릴 수 있습니다.
로컬 커널 디버깅을 수행하는 동안 !memusage 명령을 사용할 수도 있습니다.
이 확장의 출력 예는 다음과 같습니다.
kd> !memusage
loading PFN database
loading (100% complete)
Compiling memory usage data (99% Complete).
Zeroed: 218 ( 872 kb)
Free: 831 ( 3324 kb)
Standby: 124049 ( 496196 kb)
Modified: 55101 ( 220404 kb)
ModifiedNoWrite: 58 ( 232 kb)
Active/Valid: 321846 ( 1287384 kb)
Transition: 8 ( 32 kb)
SLIST/Temp: 1533 ( 6132 kb)
Bad: 0 ( 0 kb)
Unknown: 0 ( 0 kb)
TOTAL: 503644 ( 2014576 kb)
Dangling Yes Commit: 184 ( 736 kb)
Dangling No Commit: 81706 ( 326824 kb)
Building kernel map
Finished building kernel map
Scanning PFN database - (100% complete)
...
또한 보고서에는 디버거에 표시되는 메모리 사용에 대한 자세한 정보가 포함되어 있습니다.
Usage Summary (in Kb):
Control Valid Standby Dirty Shared Locked PageTables name
ffffaf0fb369f010 204 956 0 32 204 0 mapped_file( shell32.dll )
ffffaf0fb369f270 492 60 0 252 492 0 mapped_file( KernelBase.dll )
ffffaf0fb36ad050 20 36 0 0 20 0 mapped_file( WMIsvc.dll )
ffffaf0fb36adad0 88 144 0 40 88 0 mapped_file( Can't read file name buffer at ffffc10e0497e170 )
ffffaf0fb36b5670 780 1012 0 560 780 0 mapped_file( KernelBase.dll )
ffffaf0fb36b5910 44 144 0 28 44 0 mapped_file( cfgmgr32.dll )
ffffaf0fb36bc270 8 0 0 0 8 0 mapped_file( Can't read file name buffer at ffffc10e061a17d0 )
ffffaf0fb36bc520 24 56 0 4 24 0 mapped_file( ShareHost.dll )
...
첫 번째 열에는 매핑된 각 구조를 설명하는 컨트롤 영역 구조체의 주소가 표시됩니다. !ca 확장 명령을 사용하여 이러한 컨트롤 영역을 표시합니다.
설명
!vm 확장 명령을 사용하여 가상 메모리 사용을 분석할 수 있습니다. 이 확장은 일반적으로 !memusage보다 더 유용합니다. 메모리 관리에 대한 자세한 내용은 Microsoft Windows Internals, Pavel Yosifovich, Andrea Allievi, Alex Ionescu, Mark Russinovich 및 David Solomon을 참조하세요.
!pfn 확장 명령을 사용하여 PFN 데이터베이스에 특정 페이지 프레임 항목을 표시할 수 있습니다.
!pool 확장은 특정 풀 할당 또는 전체 시스템 전체 풀에 대한 정보를 표시합니다.