heap 子命令

heap 子命令显示有关堆的信息。

格式

heap [-l|-f|-d|-a] [<地址> <SRAD 编号>]

参数

描述
-l 显示有关堆的信息,包括完整的可用页列表,延迟的可用页列表 (仅支持 MODS) 以及分配的页。
-f 仅显示自由页列表。
-d 仅显示延迟的自由页列表。
-a 仅显示已分配的页面。
<地址> 指定该堆的有效地址。 请使用符号,十六进制值或十六进制表达式来指定地址。
<SRAD 编号> 指定要显示的堆应该是对应于给定系统资源分配域 (SRAD) 的缺省内核堆。

其他

hp

示例

以下是如何使用 heap 子命令的示例:

KDB(0)> heap
Pinned heap 02DACFA8
sanity......... 4E554D41 alt............ 00000001 
heapaddr[00]... F1000C0000000000 [01]..                0 
heapaddr[02]...                0 [03]..                0 
heapaddr[04]...                0 [05]..                0 
heapaddr[06]...                0 [07]..                0 
heapaddr[08]...                0 [09]..                0 
heapaddr[10]...                0 [11]..                0 
heapaddr[12]...                0 [13]..                0 
heapaddr[14]...                0 [15]..                0 
baseaddr[00]... F1000C000FF0A000 [01]..                0 
baseaddr[02]...                0 [03]..                0 
baseaddr[04]...                0 [05]..                0 
baseaddr[06]...                0 [07]..                0 
baseaddr[08]...                0 [09]..                0 
baseaddr[10]...                0 [11]..                0 
baseaddr[12]...                0 [13]..                0 
baseaddr[14]...                0 [15]..                0 
numpds[00].....           FF00F6 [01]..                0 
numpds[02].....                0 [03]..                0 
numpds[04].....                0 [05]..                0 
numpds[06].....                0 [07]..                0 
numpds[08].....                0 [09]..                0 
numpds[10].....                0 [11]..                0 
numpds[12].....                0 [13]..                0 
numpds[14].....                0 [15]..                0 
l2pd_size[00]..                C [01]..                0 
l2pd_size[02]..                0 [03]..                0 
l2pd_size[04]..                0 [05]..                0 
l2pd_size[06]..                0 [07]..                0 
l2pd_size[08]..                0 [09]..                0 
l2pd_size[10]..                0 [11]..                0 
l2pd_size[12]..                0 [13]..                0 
l2pd_size[14]..                0 [15]..                0 
Kernel heap 02DAD150
sanity......... 4E554D41 alt............ 00000000 
heapaddr[00]... F1000C0000000110 [01]..                0 
heapaddr[02]...                0 [03]..                0 
heapaddr[04]...                0 [05]..                0 
heapaddr[06]...                0 [07]..                0 
heapaddr[08]...                0 [09]..                0 
heapaddr[10]...                0 [11]..                0 
heapaddr[12]...                0 [13]..                0 
heapaddr[14]...                0 [15]..                0 
baseaddr[00]... F1000C000FF0A000 [01]..                0 
baseaddr[02]...                0 [03]..                0 
baseaddr[04]...                0 [05]..                0 
baseaddr[06]...                0 [07]..                0 
baseaddr[08]...                0 [09]..                0 
baseaddr[10]...                0 [11]..                0 
baseaddr[12]...                0 [13]..                0 
baseaddr[14]...                0 [15]..                0 
numpds[00].....           FF00F6 [01]..                0 
numpds[02].....                0 [03]..                0 
numpds[04].....                0 [05]..                0 
numpds[06].....                0 [07]..                0 
numpds[08].....                0 [09]..                0 
numpds[10].....                0 [11]..                0 
numpds[12].....                0 [13]..                0 
numpds[14].....                0 [15]..                0 
l2pd_size[00]..                C [01]..                0 
l2pd_size[02]..                0 [03]..                0 
l2pd_size[04]..                0 [05]..                0 
l2pd_size[06]..                0 [07]..                0 
l2pd_size[08]..                0 [09]..                0 
l2pd_size[10]..                0 [11]..                0 
l2pd_size[12]..                0 [13]..                0 
l2pd_size[14]..                0 [15]..                0 
KDB(0)> heap 0
Heap for node #00
Heap F1000C0000000110
sanity......... 48454150 base... 000000000FF09EF0 
lock@.. F1000C0000000120 lock... 0000000000000000 
alt............ 00000000 numpds......... 00FF00F6 
amount. 000000000B106FF0 pinflag........ 00000000 
vmrelflag...... 00000000 newheap........ 00000000 
protect........ 00000000 limit.......... 00000000 
heap64......... 00000000 rhash.. 0000000002E56048 
pagtot......... 0001223C pagused........ 0000AFAA 
frtot[00].. 00000000 [01].. 00000000 [02].. 00000000 [03].. 00000000
frtot[04].. 000005B9 [05].. 00000A84 [06].. 000005ED [07].. 00001F93
frtot[08].. 000001F8 [09].. 00000016 [10].. 0000007D [11].. 0000000E
frused[00]. 00000000 [01].. 00000000 [02].. 00000000 [03].. 00000000
frused[04]. 00000001 [05].. 00000005 [06].. 0000002B [07].. 00001579
frused[08]. 00000014 [09].. 00000002 [10].. 0000000C [11].. 0000000A
fr[00]..... 00FFFFFF [01].. 00FFFFFF [02].. 00FFFFFF [03].. 00FFFFFF
fr[04]..... 00014E09 [05].. 000158B0 [06].. 00015648 [07].. 000140A0
fr[08]..... 000154A8 [09].. 0000F198 [10].. 000155D8 [11].. 00FFFFFF
Heap: per-cpu free lists
Heap F1000C0000000000
sanity......... 48454150 base... 000000000FF0A000 
lock@.. F1000C0000000010 lock... 0000000000000000 
alt............ 00000001 numpds......... 00FF00F6 
amount. 000000000202EB70 pinflag........ 00000001 
vmrelflag...... 00000000 newheap........ 00000000 
protect........ 00000000 limit.......... 00000000 
heap64......... 00000000 rhash.. 0000000002E56048 
pagtot......... 000024CC pagused........ 00001068 
frtot[00].. 00000000 [01].. 00000000 [02].. 00000000 [03].. 00000000
frtot[04].. 0000000B [05].. 00000617 [06].. 0000C087 [07].. 00008A5F
frtot[08].. 00000438 [09].. 000001E4 [10].. 0000203A [11].. 000000A3
frused[00]. 00000000 [01].. 00000000 [02].. 00000000 [03].. 00000000
frused[04]. 0000000B [05].. 000005F8 [06].. 00000073 [07].. 000001E0
frused[08]. 000000A3 [09].. 00000026 [10].. 000000D8 [11].. 00000012
fr[00]..... 00FFFFFF [01].. 00FFFFFF [02].. 00FFFFFF [03].. 00FFFFFF
fr[04]..... 000000E0 [05].. 0000F1BB [06].. 000158C6 [07].. 000158B6
fr[08]..... 00015242 [09].. 0000F216 [10].. 000158BF [11].. 0000F3D3
Heap: per-cpu free lists
addr...... F1000C000FF0A000 overflow.......... 00000000 
ov_min.... 0000000000000000 ov_max.... 0000000000000000 
maxpds............ 00FF00F6 peakpd............ 00000000 
l2pg_size......... 0000000C l2pd_size......... 0000000C 
limit_callout..... 00000000 newseg_callout.... 00000000 
pagesoffset....... 00008BA0 pages_srval....... 00000000 
lockoffset........ 00000400 locks_srval....... 00000000 
heap_locks...... @ F1000C0000000400 pages........... @ F1000C0000008BA0 
heap_lists...... @ F1000C0000000A80 
Heap anchor
... F1000C0000008B90 pageno FFFFFFFF type.. 00 allocpage     offset... 0158C9
        The largest free range in the heap is 16623661 pages and starts
        at page 158C9.
KDB(0)> heap -l 0
Heap for node #00
Heap F1000C0000000110
sanity......... 48454150 base... 000000000FF09EF0 
lock@.. F1000C0000000120 lock... 0000000000000000 
alt............ 00000000 numpds......... 00FF00F6 
amount. 000000000B106FF0 pinflag........ 00000000 
vmrelflag...... 00000000 newheap........ 00000000 
protect........ 00000000 limit.......... 00000000 
heap64......... 00000000 rhash.. 0000000002E56048 
pagtot......... 0001223C pagused........ 0000AFAA 
frtot[00].. 00000000 [01].. 00000000 [02].. 00000000 [03].. 00000000
frtot[04].. 000005B9 [05].. 00000A84 [06].. 000005ED [07].. 00001F93
frtot[08].. 000001F8 [09].. 00000016 [10].. 0000007D [11].. 0000000E
frused[00]. 00000000 [01].. 00000000 [02].. 00000000 [03].. 00000000
frused[04]. 00000001 [05].. 00000005 [06].. 0000002B [07].. 00001579
frused[08]. 00000014 [09].. 00000002 [10].. 0000000C [11].. 0000000A
fr[00]..... 00FFFFFF [01].. 00FFFFFF [02].. 00FFFFFF [03].. 00FFFFFF
fr[04]..... 00014E09 [05].. 000158B0 [06].. 00015648 [07].. 000140A0
fr[08]..... 000154A8 [09].. 0000F198 [10].. 000155D8 [11].. 00FFFFFF
Heap: per-cpu free lists
Heap F1000C0000000000
sanity......... 48454150 base... 000000000FF0A000 
lock@.. F1000C0000000010 lock... 0000000000000000 
alt............ 00000001 numpds......... 00FF00F6 
amount. 000000000202EB70 pinflag........ 00000001 
vmrelflag...... 00000000 newheap........ 00000000 
protect........ 00000000 limit.......... 00000000 
heap64......... 00000000 rhash.. 0000000002E56048 
pagtot......... 000024CC pagused........ 00001068 
frtot[00].. 00000000 [01].. 00000000 [02].. 00000000 [03].. 00000000
frtot[04].. 0000000B [05].. 00000617 [06].. 0000C087 [07].. 00008A5F
frtot[08].. 00000438 [09].. 000001E4 [10].. 0000203A [11].. 000000A3
frused[00]. 00000000 [01].. 00000000 [02].. 00000000 [03].. 00000000
frused[04]. 0000000B [05].. 000005F8 [06].. 00000073 [07].. 000001E0
frused[08]. 000000A3 [09].. 00000026 [10].. 000000D8 [11].. 00000012
fr[00]..... 00FFFFFF [01].. 00FFFFFF [02].. 00FFFFFF [03].. 00FFFFFF
fr[04]..... 000000E0 [05].. 0000F1BB [06].. 000158C6 [07].. 000158B6
fr[08]..... 00015242 [09].. 0000F216 [10].. 000158BF [11].. 0000F3D3
Heap: per-cpu free lists
addr...... F1000C000FF0A000 overflow.......... 00000000 
ov_min.... 0000000000000000 ov_max.... 0000000000000000 
maxpds............ 00FF00F6 peakpd............ 00000000 
l2pg_size......... 0000000C l2pd_size......... 0000000C 
limit_callout..... 00000000 newseg_callout.... 00000000 
pagesoffset....... 00008BA0 pages_srval....... 00000000 
lockoffset........ 00000400 locks_srval....... 00000000 
heap_locks...... @ F1000C0000000400 pages........... @ F1000C0000008BA0 
heap_lists...... @ F1000C0000000A80 
Heap anchor
... F1000C0000008B90 pageno FFFFFFFF type.. 00 allocpage     offset... 0158C9
Heap Free list
... F1000C0000161830 pageno 000158C9 type.. 03 freerange     offset... NO_PAGE
... F1000C0000161840 pageno 000158CA type.. 04 freesize      size..... FDA82D
... F1000C000FF09AF0 pageno 00FF00F5 type.. 05 freerangeend  offset... 0158C9
Heap deferred free anchor
... F1000C0000008B80 pageno FFFFFFFE type.. 00 allocpage     offset... 0158C7
Heap Deferred Free list
... F1000C0000161810 pageno 000158C7 type.. 01 allocrange    offset... 0158C0
... F1000C0000161820 pageno 000158C8 type.. 06 allocsize     size..... 000002
... F1000C00001617A0 pageno 000158C0 type.. 01 allocrange    offset... 0158B7
...
Heap Alloc list
... F1000C0000008BA0 pageno 00000000 type.. 00 allocpage     offset... NO_PAGE
... F1000C0000008BB0 pageno 00000001 type.. 00 allocpage     offset... NO_PAGE
... F1000C0000008BC0 pageno 00000002 type.. 00 allocpage     offset... NO_PAGE
...
KDB(0)> heap -f 0 
Heap for node #00
Heap F1000C0000000110
Heap: per-cpu free lists
Heap F1000C0000000000
Heap: per-cpu free lists
addr...... F1000C000FF0A000 overflow.......... 00000000 
ov_min.... 0000000000000000 ov_max.... 0000000000000000 
maxpds............ 00FF00F6 peakpd............ 00000000 
l2pg_size......... 0000000C l2pd_size......... 0000000C 
limit_callout..... 00000000 newseg_callout.... 00000000 
pagesoffset....... 00008BA0 pages_srval....... 00000000 
lockoffset........ 00000400 locks_srval....... 00000000 
heap_locks...... @ F1000C0000000400 pages........... @ F1000C0000008BA0 
heap_lists...... @ F1000C0000000A80 
Heap anchor
... F1000C0000008B90 pageno FFFFFFFF type.. 00 allocpage     offset... 0158C9
Heap Free list
... F1000C0000161830 pageno 000158C9 type.. 03 freerange     offset... NO_PAGE
... F1000C0000161840 pageno 000158CA type.. 04 freesize      size..... FDA82D
... F1000C000FF09AF0 pageno 00FF00F5 type.. 05 freerangeend  offset... 0158C9
KDB(0)> heap -d 0
Heap for node #00
Heap F1000C0000000110
Heap: per-cpu free lists
Heap F1000C0000000000
Heap: per-cpu free lists
addr...... F1000C000FF0A000 overflow.......... 00000000 
ov_min.... 0000000000000000 ov_max.... 0000000000000000 
maxpds............ 00FF00F6 peakpd............ 00000000 
l2pg_size......... 0000000C l2pd_size......... 0000000C 
limit_callout..... 00000000 newseg_callout.... 00000000 
pagesoffset....... 00008BA0 pages_srval....... 00000000 
lockoffset........ 00000400 locks_srval....... 00000000 
heap_locks...... @ F1000C0000000400 pages........... @ F1000C0000008BA0 
heap_lists...... @ F1000C0000000A80 
Heap anchor
... F1000C0000008B90 pageno FFFFFFFF type.. 00 allocpage     offset... 0158C9
        The largest free range in the heap is 16623661 pages and starts
        at page 158C9.
Heap deferred free anchor
... F1000C0000008B80 pageno FFFFFFFE type.. 00 allocpage     offset... 0158C7
Heap Deferred Free list
... F1000C0000161810 pageno 000158C7 type.. 01 allocrange    offset... 0158C0
... F1000C0000161820 pageno 000158C8 type.. 06 allocsize     size..... 000002
... F1000C00001617A0 pageno 000158C0 type.. 01 allocrange    offset... 0158B7
...
KDB(0)> heap -d 0
Heap for node #00
Heap F1000C0000000110
Heap: per-cpu free lists
Heap F1000C0000000000
Heap: per-cpu free lists
addr...... F1000C000FF0A000 overflow.......... 00000000 
ov_min.... 0000000000000000 ov_max.... 0000000000000000 
maxpds............ 00FF00F6 peakpd............ 00000000 
l2pg_size......... 0000000C l2pd_size......... 0000000C 
limit_callout..... 00000000 newseg_callout.... 00000000 
pagesoffset....... 00008BA0 pages_srval....... 00000000 
lockoffset........ 00000400 locks_srval....... 00000000 
heap_locks...... @ F1000C0000000400 pages........... @ F1000C0000008BA0 
heap_lists...... @ F1000C0000000A80 
Heap anchor
... F1000C0000008B90 pageno FFFFFFFF type.. 00 allocpage     offset... 0158C9
        The largest free range in the heap is 16623661 pages and starts
        at page 158C9.
Heap Alloc list
... F1000C0000008BA0 pageno 00000000 type.. 00 allocpage     offset... NO_PAGE
... F1000C0000008BB0 pageno 00000001 type.. 00 allocpage     offset... NO_PAGE
... F1000C0000008BC0 pageno 00000002 type.. 00 allocpage     offset... NO_PAGE
...
KDB(0)> heap @kernel_heap0
Heap 03AF80E0
sanity......... 48454150 base... 0000000000039F20 
lock@.. 0000000003AF80F0 lock... 0000000000000000 
alt............ 00000000 numpages....... 0000C4CE 
amount. 00000000005E66C0 pinflag........ 00000000 
vmrelflag...... 00000000 newheap........ 00000000 
protect........ 00000000 limit.......... 00000000 
heap64......... 00000000 rhash.. 0000000000000000 
pagtot......... 00000000 pagused........ 00000000 
...