!memusage

!memusage 확장은 실제 메모리 사용에 대한 요약 통계를 표시합니다.

구문

!memusage [Flags]

매개 변수

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 확장은 특정 풀 할당 또는 전체 시스템 전체 풀에 대한 정보를 표시합니다.