Most of vmm subcommands can be used without argument, then all choices are printed. It is also possible to enter the selection as argument.
The vmker subcommand prints virtual memory kernel data.
example:
KDB(4)> vmker display virtual memory kernel data VMM Kernel Data: vmm srval (vmmsrval) : 00000801 pgsp map srval (dmapsrval) : 00001803 ram disk srval (ramdsrval) : 00000000 kernel ext srval (kexsrval) : 00002004 iplcb vaddr (iplcbptr) : 0045A000 hashbits (hashbits) : 00000010 hash shift amount (stoibits) : 0000000B rsvd pgsp blks (psrsvdblks) : 00000500 total page frames (nrpages) : 0001FF58 bad page frames (badpages) : 00000000 free page frames (numfrb) : 000198AF max perm frames (maxperm) : 000195E0 num perm frames (numperm) : 0000125A total pgsp blks (numpsblks) : 00050000 free pgsp blks (psfreeblks) : 0004CE2C base config seg (bconfsrval) : 0000580B rsvd page frames (pfrsvdblks) : 00006644 fetch protect (nofetchprot): 00000000 shadow srval (ukernsrval) : 60000000 num client frames (numclient) : 00000014 max client frames (maxclient) : 000195E0 kernel srval (kernsrval) : 00000000 STOI/ITOS mask (stoimask) : 0000001F STOI/ITOS sid mask(stoinio) : 00000000 max file pageout (maxpout) : 00000000 min file pageout (minpout) : 00000000 repage table size (rptsize) : 00010000 next free in rpt (rptfree) : 00000000 repage decay rate (rpdecay) : 0000005A global repage cnt (sysrepage) : 00000000 swhashmask (swhashmask) : 0000FFFF hashmask (hashmask) : 0000FFFF cachealign (cachealign) : 00001000 overflows (overflows) : 00000000 reloads (reloads) : 0000078E pmap_lock_addr (pmap_lock_addr): 00000000 compressed segs (numcompress): 00000000 compressed files (noflush) : 00000000 extended iplcb (iplcbxptr) : 00000000 alias hash mask (ahashmask) : 000000FF max pgs to delete (pd_npages) : 00080000 vrld xlate hits (vrldhits) : 00000000 vrld xlate misses (vrldmisses) : 0000004C vmm 1 swpft (...srval) : 00003006 vmm 2 swpft (...srval) : 00003807 vmm 3 swpft (...srval) : 00004008 vmm 4 swpft (...srval) : 00004809 vmm swhat (...srval) : 00002805 # of ptasegments (numptasegs) : 00000001 vmkerlock (vmkerlock) : E8000100 ame srval(s) (amesrval[0] : 0000600C ptaseg(s) (ptasegs[1] : 00001002
The rmap subcommand prints the real address range mapping table.
example:
KDB(2)> rmap * display real address range mappings SLOT RADDR SIZE ALIGN WIMG <name> vmrmap+000028 0001 0000000000000000 00458D51 00000000 0002 Kernel vmrmap+000048 0002 000000001FF20000 00028000 00000000 0002 IPL control block vmrmap+000068 0003 0000000000459000 00058000 00001000 0002 MST vmrmap+000088 0004 00000000008BF000 001ABCE0 00000000 0002 RAMD vmrmap+0000A8 0005 0000000000A6B000 00025001 00000000 0002 BCFG vmrmap+0000E8 0007 0000000000C00000 00400000 00400000 0002 PFT vmrmap+000108 0008 00000000004B1000 0007FD60 00001000 0002 PVT vmrmap+000128 0009 0000000000531000 00200000 00001000 0002 PVLIST vmrmap+000148 000A 0000000001000000 0067DDE0 00001000 0002 s/w PFT vmrmap+000168 000B 0000000000731000 00040000 00001000 0002 s/w HAT vmrmap+000188 000C 0000000000771000 00001000 00001000 0002 APT vmrmap+0001A8 000D 0000000000772000 00000200 00001000 0002 AHAT vmrmap+0001C8 000E 0000000000773000 00080000 00001000 0002 RPT vmrmap+0001E8 000F 00000000007F3000 00020000 00001000 0002 RPHAT vmrmap+000208 0010 0000000000813000 0000D000 00001000 0002 PDT vmrmap+000228 0011 0000000000820000 00001000 00001000 0002 PTAR vmrmap+000248 0012 0000000000821000 00002000 00001000 0002 PTAD vmrmap+000268 0013 0000000000823000 00003000 00001000 0002 PTAI vmrmap+000288 0014 0000000000826000 00001000 00001000 0002 DMAP vmrmap+0002C8 0016 00000000FF000000 00000100 00000000 0005 SYSREG vmrmap+0002E8 0017 00000000FF100000 00000600 00000000 0005 SYSINT vmrmap+000308 0018 00000000FF600000 00022000 00000000 0005 NVRAM vmrmap+000328 0019 000000001FD00000 00080000 00000000 0006 TCE vmrmap+000348 001A 000000001FC00000 00080000 00000000 0006 TCE vmrmap+000368 001B 00000000FF001000 00000014 00000000 0005 System Specific Reg. vmrmap+000388 001C 00000000FF180000 00000004 00000000 0005 APR KDB(2)> rmap 16 display real address range mappings of slot 16 RMAP entry 0016 of 001F: SYSREG > valid > range is in I/O space Real address : 00000000FF000000 Effective address : 00000000E0000000 Size : 00000100 Alignment : 00000000 WIMG bits : 5 KDB(2)> rmap display page intervals utilized by the VMM VMM RMAP, usage: rmap [*][<slot>] Enter the RMAP index (0-001F): 20 out of range slot Interval entry 0 of 5 .... Memory holes (1 intervals) 0 : [01FF58,100000) Interval entry 1 of 5 .... Fixed kernel memory (4 intervals) 0 : [000000,0000F8) 1 : [0000F7,00011A) 2 : [000119,000125) 3 : [0002E6,0002E9) Interval entry 2 of 5 .... Released kernel memory (1 intervals) 0 : [00011A,000124) Interval entry 3 of 5 .... Fixed common memory (2 intervals) 0 : [000488,000495) 1 : [000494,000495) Interval entry 4 of 5 .... Page replacement skips (6 intervals) 0 : [000000,000827) 1 : [000C00,00167E) 2 : [01FC00,01FC80) 3 : [01FD00,01FD80) 4 : [01FF20,01FF48) 5 : [01FF58,100000) Interval entry 5 of 5 .... Debugger skips (3 intervals) 0 : [0004B1,000731) 1 : [000C00,001000) 2 : [01FF58,100000)
The pfhdata subcommand prints virtual memory control variables.
example:
KDB(2)> pfhdata display virtual memory control variables VMM Control Variables: B69C8000 vmmdseg +69C8000 1st non-pinned page (firstnf) : 00000000 1st free sid entry (sidfree) : 000003F0 1st delete pending (sidxmem) : 00000000 highest sid entry (hisid) : 0000040C fblru page-outs (numpout) : 00000000 fblru remote pg-outs (numremote) : 00000000 frames not pinned (pfavail) : 0001E062 next lru candidate (lruptr) : 00000000 v_sync cursor (syncptr) : 00000000 last pdt on i/o list (iotail) : FFFFFFFF num of paging spaces (npgspaces) : 00000002 PDT last alloc from (pdtlast) : 00000001 max pgsp PDT index (pdtmaxpg) : 00000001 PDT index of server (pdtserver) : 00000000 fblru minfree (minfree) : 00000078 fblru maxfree (maxfree) : 00000080 scb serial num (nxtscbnum) : 00000338 comp repage cnt (rpgcnt[RPCOMP]) : 00000000 file repage cnt (rpgcnt[RPFILE]) : 00000000 num of comp replaces (nreplaced[RPCOMP]): 00000000 num of file replaces (nreplaced[RPFILE]): 00000000 num of comp repages (nrepaged[RPCOMP]) : 00000000 num of file repages (nrepaged[RPFILE]) : 00000000 minperm (minperm) : 00006578 min page-ahead (minpgahead) : 00000002 max page-ahead (maxpgahead) : 00000008 sysbr protect key (kerkey) : 00000000 non-ws page-outs (numpermio) : 00000000 free frame wait (freewait) : 00000000 device i/o wait (devwait) : 00000000 extend XPT wait (extendwait) : 00000000 buf struct wait (bufwait) : 00000000 inh/delete wait (deletewait) : 00000000 SIGDANGER level (npswarn) : 00002800 SIGKILL level (npskill) : 00000A00 next warn level (nextwarn) : 00002800 next kill level (nextkill) : 00000A00 adj warn level (adjwarn) : 00000008 adj kill level (adjkill) : 00000008 cur pdt alloc (npdtblks) : 00000003 max pdt alloc (maxpdtblks) : 00000004 num i/o sched (numsched) : 00000004 freewake (freewake) : 00000000 disk quota wait (dqwait) : 00000000 1st free ame entry (amefree) : FFFFFFFF 1st del pending ame (amexmem) : 00000000 highest ame entry (hiame) : 00000000 pag space free wait (pgspwait) : 00000000 index in int array (lruidx) : 00000000 next memory hole (skiplru) : 00000000 first free apt entry (aptfree) : 00000056 next apt entry (aptlru) : 00000000 sid index of logs (logsidx) @ B01C80CC lru request (lrurequested) : 00000000 lru daemon wait anchor (lrudaemon) : E6000758 global vmap lock @ B01C8514 E80001C0 global ame lock @ B01C8554 E8000200 global rpt lock @ B01C8594 E8000240 global alloc lock @ B01C85D4 E8000280 apt freelist lock @ B01C8614 E80002C0
The vmstat subcommand prints virtual memory statistics.
example:
KDB(6)> vmstat display virtual memory statistics VMM Statistics: page faults (pgexct) : 0CE0A83D page reclaims (pgrclm) : 00000000 lockmisses (lockexct) : 00000000 backtracks (backtrks) : 0025D779 pages paged in (pageins) : 002D264A pages paged out (pageouts) : 00E229D1 paging space page ins (pgspgins) : 0001F9C8 paging space page outs (pgspgouts): 0003B20E start I/Os (numsios) : 00B4786A iodones (numiodone): 00B478F7 zero filled pages (zerofills): 0225E1A4 executable filled pages (exfills) : 000090C4 pages examined by clock (scans) : 008F32DF clock hand cycles (cycles) : 0000008F page steals (pgsteals) : 004E986F free frame waits (freewts) : 023449E5 extend XPT waits (extendwts): 000008C9 pending I/O waits (pendiowts): 0022C5E3 VMM Statistics: ping-pongs: source => alias (pings) : 00000000 ping-pongs: alias => source (pongs) : 00000000 ping-pongs: alias => alias (pangs) : 00000000 ping-pongs: alias page del (dpongs): 00000000 ping-pongs: alias page write(wpongs): 00000000 ping-pong cache flushes (cachef): 00000000 ping-pong cache invalidates (cachei): 00000000
The vmaddr subcommand prints virtual memory addresses.
example:
KDB(1)> vmaddr display virtual memory addresses VMM Addresses H/W PTE : 00C00000 [real address] H/W PVT : 004B1000 [real address] H/W PVLIST : 00531000 [real address] S/W HAT : A0000000 A0000000 S/W PFT : 60000000 60000000 AHAT : B0000000 vmmdseg +000000 APT : B0020000 vmmdseg +020000 RPHAT : B0120000 vmmdseg +120000 RPT : B0140000 vmmdseg +140000 PDT : B01C0000 vmmdseg +1C0000 PFHDATA : B01C8000 vmmdseg +1C8000 LOCKANCH : B01C8654 vmmdseg +1C8654 SCBs : B01CC87C vmmdseg +1CC87C LOCKWORDS : B45CC87C vmmdseg +45CC87C AMEs : D0000000 ameseg +000000 LOCK: PMAP : 00000000 00000000
The pdt subcommand prints paging device table. To print all pdts, enter the subcommand without argument and select the first to be displayed.
example:
KDB(3)> pdt * display paging device table SLOT NEXTIO DEVICE IOTAIL DMSRVAL IOCNT <name> vmmdseg+1C0000 0000 FFFFFFFF 000A0001 FFFFFFFF 00000000 00000000 paging vmmdseg+1C0040 0001 FFFFFFFF 000A000E FFFFFFFF 00000000 00000000 paging vmmdseg+1C0080 0002 FFFFFFFF 000A000F FFFFFFFF 00000000 00000000 paging vmmdseg+1C0440 0011 FFFFFFFF 000A0007 FFFFFFFF 0001B07B 00000000 filesystem vmmdseg+1C0480 0012 FFFFFFFF 000A0003 FFFFFFFF 00000000 00000000 log vmmdseg+1C04C0 0013 FFFFFFFF 000A0004 FFFFFFFF 00005085 00000000 filesystem vmmdseg+1C0500 0014 FFFFFFFF 000A0005 FFFFFFFF 0000B08B 00000000 filesystem vmmdseg+1C0540 0015 FFFFFFFF 000A0006 FFFFFFFF 0000E0AE 00000000 filesystem vmmdseg+1C0580 0016 FFFFFFFF 000A0008 FFFFFFFF 0000F14F 00000000 filesystem vmmdseg+1C05C0 0017 FFFFFFFF 0B5C7308 FFFFFFFF 00000000 00000000 remote vmmdseg+1C0600 0018 FFFFFFFF 0B5C75B4 FFFFFFFF 00000000 00000000 remote KDB(3)> pdt 13 display paging device table slot 13 PDT address B01C04C0 entry 0013 of 01FF, type: FILESYSTEM next pdt on i/o list (nextio) : FFFFFFFF dev_t or strategy ptr (device) : 000A0004 last frame w/pend I/O (iotail) : FFFFFFFF free buf_struct list (bufstr) : 0B23A0B0 total buf structs (nbufs) : 005D available (PAGING) (avail) : 0000 JFS disk agsize (agsize) : 0400 JFS inode agsize (iagsize) : 0800 JFS log SCB index (logsidx) : 0007A JFS fragments per page(fperpage): 1 JFS compression type (comptype): 0 JFS log2 bigalloc mult(bigexp) : 0 disk map srval (dmsrval) : 00005085 i/o's not finished (iocnt) : 00000000 logical volume lock (lock) :@B01C04E4 00000000
The scb subcommand displays VMM segment control blocks.
example:
KDB(2)> scb display VMM segment control block VMM SCBs Select the scb to display by: 1) index 2) sid 3) srval 4) search on sibits 5) search on npsblks 6) search on npages 7) search on npseablks 8) search on lock 9) search on segment type Enter your choice: 2 sid Enter the sid (in hex): 00000401 value VMM SCB Addr B69CC8C0 Index 00000001 of 00003A2F Segment ID: 00000401 WORKING STORAGE SEGMENT parent sid (parent) : 00000000 left child sid (left) : 00000000 right child sid (right) : 00000000 extent of growing down (minvpn) : 0000ABBD last page user region (sysbr) : FFFFFFFF up limit (uplim) : 00007FFF down limit (downlim) : 00008000 number of pgsp blocks (npsblks) : 00000008 number of epsa blocks (npseablks): 00000000 segment info bits (_sibits) : A004A000 default storage key (_defkey) : 2 > (_segtype)..... working segment > (_segtype)..... segment is valid > (_system)...... system segment > (_chgbit)...... segment modified > (_compseg)..... computational segment next free list/mmap cnt (free) : 00000000 non-fblu pageout count (npopages): 0000 xmem attach count (xmemcnt) : 0000 address of XPT root (vxpto) : C00C0400 pages in real memory (npages) : 0000080E page frame at head (sidlist) : 00006E66 max assigned page number (maxvpn) : 00006AC3 lock (lock) : E80001C0 KDB(2)> scb display VMM segment control block VMM SCBs Select the scb to display by: 1) index 2) sid 3) srval 4) search on sibits 5) search on npsblks 6) search on npages 7) search on npseablks 8) search on lock 9) search on segment type Enter your choice: 8 search on lock Find all scbs currently locked sidx 00000012 locked: 00044EEF sidx 00000D63 locked: 000412F7 sidx 00000FB5 locked: 00044EEF sidx 00001072 locked: 000280E7 sidx 000034B4 locked: 0002EC61 5 (dec) scb locked KDB(2)> scb 1 display VMM segment control block by index Enter the index (in hex): 000034B4 index VMM SCB Addr B6AAC84C Index 000034B4 of 00003A2F Segment ID: 000064B4 WORKING STORAGE SEGMENT parent sid (parent) : 00000000 left child sid (left) : 00000000 right child sid (right) : 00000000 extent of growing down (minvpn) : 00010000 last page user region (sysbr) : 00010000 up limit (uplim) : 0000FFFF down limit (downlim) : 00010000 number of pgsp blocks (npsblks) : 0000000A number of epsa blocks (npseablks): 00000000 segment info bits (_sibits) : A0002080 default storage key (_defkey) : 2 > (_segtype)..... working segment > (_segtype)..... segment is valid > (_compseg)..... computational segment > (_sparse)...... sparse segment next free list/mmap cnt (free) : 00000000 non-fblu pageout count (npopages): 0000 xmem attach count (xmemcnt) : 0000 address of XPT root (vxpto) : C0699C00 pages in real memory (npages) : 00000011 page frame at head (sidlist) : 00004C5C max assigned page number (maxvpn) : 000001C1 lock (lock) : E80955E0
The pft subcommand displays VMM page frame table.
example:
KDB(5)> pft display VMM page frame VMM PFT Select the PFT entry to display by: 1) page frame # 2) h/w hash (sid,pno) 3) s/w hash (sid,pno) 4) search on swbits 5) search on pincount 6) search on xmemcnt 7) scb list 8) io list Enter your choice: 7 scb list Enter the sid (in hex): 00005555 sid value VMM PFT Entry For Page Frame 0EB87 of 0FF67 pte = B0155520, pvt = B203AE1C, pft = B3AC2950 h/w hashed sid : 00005555 pno : 00000001 key : 1 source sid : 00005555 pno : 00000001 key : 1 > in use > on scb list > valid (h/w) > referenced (pft/pvt/pte): 0/0/1 > modified (pft/pvt/pte): 0/0/0 page number in scb (pagex) : 00000001 disk block number (dblock) : 00000AC6 next page on scb list (sidfwd) : 0000E682 prev page on scb list (sidbwd) : FFFFFFFF freefwd/waitlist (freefwd): 00000000 freebwd/logage/pincnt (freebwd): 00000000 out of order I/O (nonfifo): 0000 next frame i/o list (nextio) : 00000000 storage attributes (wimg) : 2 xmem hide count (xmemcnt): 0 next page on s/w hash (next) : FFFFFFFF List of alias entries (alist) : 0000FFFF index in PDT (devid) : 0014 VMM PFT Entry For Page Frame 0E682 of 0FF67 pte = B01555F0, pvt = B2039A08, pft = B3AB3860 h/w hashed sid : 00005555 pno : 00000002 key : 1 source sid : 00005555 pno : 00000002 key : 1 > in use > on scb list > valid (h/w) > referenced (pft/pvt/pte): 0/0/1 > modified (pft/pvt/pte): 0/0/0 page number in scb (pagex) : 00000002 disk block number (dblock) : 00000AC7 next page on scb list (sidfwd) : 0000EB7B prev page on scb list (sidbwd) : 0000EB87 freefwd/waitlist (freefwd): 00000000 freebwd/logage/pincnt (freebwd): 00000000 out of order I/O (nonfifo): 0000 next frame i/o list (nextio) : 00000000 storage attributes (wimg) : 2 xmem hide count (xmemcnt): 0 next page on s/w hash (next) : FFFFFFFF List of alias entries (alist) : 0000FFFF index in PDT (devid) : 0014 VMM PFT Entry For Page Frame 0EB7B of 0FF67 pte = B0155558, pvt = B203ADEC, pft = B3AC2710 h/w hashed sid : 00005555 pno : 00000000 key : 1 source sid : 00005555 pno : 00000000 key : 1 > in use > on scb list > valid (h/w) > referenced (pft/pvt/pte): 0/0/1 > modified (pft/pvt/pte): 0/0/0 page number in scb (pagex) : 00000000 disk block number (dblock) : 00000AC5 next page on scb list (sidfwd) : FFFFFFFF prev page on scb list (sidbwd) : 0000E682 freefwd/waitlist (freefwd): 00000000 freebwd/logage/pincnt (freebwd): 00000000 out of order I/O (nonfifo): 0000 next frame i/o list (nextio) : 00000000 storage attributes (wimg) : 2 xmem hide count (xmemcnt): 0 next page on s/w hash (next) : FFFFFFFF List of alias entries (alist) : 0000FFFF index in PDT (devid) : 0014 Pages on SCB list npages.......... 00000003 on sidlist...... 00000003 pageout_pagein.. 00000000 free............ 00000000 KDB(0)> pft 8 io list Enter the page frame number (in hex): 00002749 first page frame VMM PFT Entry For Page Frame 02749 of 0FF67 pte = B00C9280, pvt = B2009D24, pft = B3875DB0 h/w hashed sid : 0080324A pno : 00000000 key : 1 source sid : 0000324A pno : 00000000 key : 1 > page out > on scb list > ok to write to home > valid (h/w) > referenced (pft/pvt/pte): 0/1/0 > modified (pft/pvt/pte): 1/1/0 page number in scb (pagex) : 00000000 disk block number (dblock) : 0000420D next page on scb list (sidfwd) : 0000EE94 prev page on scb list (sidbwd) : 00002E11 freefwd/waitlist (freefwd): E6096C00 freebwd/logage/pincnt (freebwd): 00000000 out of order I/O (nonfifo): 0001 index in PDT (devid) : 0033 next frame i/o list (nextio) : 000043EB storage attributes (wimg) : 2 xmem hide count (xmemcnt): 0 next page on s/w hash (next) : FFFFFFFF List of alias entries (alist) : 0000FFFF VMM PFT Entry For Page Frame 043EB of 0FF67 next frame i/o list pte = B01580C0, pvt = B2010FAC, pft = B38CBC10 h/w hashed sid : 008055FC pno : 000003FF key : 1 source sid : 000055FC pno : 000003FF key : 1 > page out > on scb list > ok to write to home > valid (h/w) > referenced (pft/pvt/pte): 0/1/0 > modified (pft/pvt/pte): 1/1/0 page number in scb (pagex) : 000003FF disk block number (dblock) : 00044D47 next page on scb list (sidfwd) : 00005364 prev page on scb list (sidbwd) : 000043EB freefwd/waitlist (freefwd): 00000000 freebwd/logage/pincnt (freebwd): 00000000 out of order I/O (nonfifo): 0001 index in PDT (devid) : 0031 next frame i/o list (nextio) : 00004405 storage attributes (wimg) : 2 xmem hide count (xmemcnt): 0 next page on s/w hash (next) : 00002789 List of alias entries (alist) : 0000FFFF ... VMM PFT Entry For Page Frame 02E11 of 0FF67 pte = B00C90C0, pvt = B200B844, pft = B388A330 h/w hashed sid : 0080324A pno : 00000009 key : 1 source sid : 0000324A pno : 00000009 key : 1 > page out > on scb list > ok to write to home > valid (h/w) > referenced (pft/pvt/pte): 0/1/0 > modified (pft/pvt/pte): 1/1/0 page number in scb (pagex) : 00000009 disk block number (dblock) : 000042C0 next page on scb list (sidfwd) : 00002749 prev page on scb list (sidbwd) : 00002FCB freefwd/waitlist (freefwd): 00000000 freebwd/logage/pincnt (freebwd): 00000000 out of order I/O (nonfifo): 0001 index in PDT (devid) : 0033 next frame i/o list (nextio) : 00002749 storage attributes (wimg) : 2 xmem hide count (xmemcnt): 0 next page on s/w hash (next) : FFFFFFFF List of alias entries (alist) : 0000FFFF Pages on iolist...... 00000091
The pte subcommand displays VMM page table entries.
example:
KDB(1)> pte display VMM page table entry VMM PTE Select the PTE to display by: 1) index 2) sid,pno 3) page frame 4) PTE group Enter your choice: 2 sid,pno Enter the sid (in hex): 802 sid value Enter the pno (in hex): 0 pno value PTEX v SID h avpi RPN r c wimg pp 004010 1 000802 0 00 007CD 1 1 0002 00 KDB(1)> pte 4 display VMM page table group Enter the sid (in hex): 802 sid value Enter the pno (in hex): 0 pno value PTEX v SID h avpi RPN r c wimg pp 004010 1 000802 0 00 007CD 1 1 0002 00 004011 1 000803 0 00 090FF 0 0 0002 03 004012 0 000000 0 00 00000 0 0 0000 00 004013 0 000000 0 00 00000 0 0 0000 00 004014 0 000000 0 00 00000 0 0 0000 00 004015 0 000000 0 00 00000 0 0 0000 00 004016 0 000000 0 00 00000 0 0 0000 00 004017 0 000000 0 00 00000 0 0 0000 00 PTEX v SID h avpi RPN r c wimg pp 03BFE8 1 00729E 0 01 0DC55 0 0 0002 01 03BFE9 1 007659 0 00 07BC6 1 0 0002 02 03BFEA 0 000000 0 00 00000 0 0 0000 00 03BFEB 0 000000 0 00 00000 0 0 0000 00 03BFEC 0 000000 0 00 00000 0 0 0000 00 03BFED 0 000000 0 00 00000 0 0 0000 00 03BFEE 0 000000 0 00 00000 0 0 0000 00 03BFEF 0 000000 0 00 00000 0 0 0000 00
The pta subcommand displays VMM PTA segment.
example:
KDB(3)> pta ? display usage VMM PTA segment @ C0000000 Usage: pta pta -r[oot] [sid] to print XPT root pta -d[blk] [sid] to print XPT direct blocks pta -a[pm] [idx] to print Area Page Map pta -v[map] [idx] to print map blocks pta -x[pt] xpt to print XPT fields KDB(3)> pta display PTA information VMM PTA segment @ C0000000 pta_root....... @ C0000000 pta_hiapm...... : 00000200 pta_vmapfree... : 00010FCB pta_usecount... : 0004D000 pta_anchor[0].. : 00000107 pta_anchor[1].. : 00000000 pta_anchor[2].. : 00000102 pta_anchor[3].. : 00000000 pta_anchor[4].. : 00000000 pta_anchor[5].. : 00000000 pta_freecnt.... : 0000000A pta_freetail... : 000001FF pta_apm(1rst).. @ C0000600 pta_xptdblk.... @ C0080000 KDB(1)> pta -a 2 display area page map for 1K bucket VMM PTA segment @ C0000000 INDEX XPT1K pta_apm @ C0000810 pmap... : D0000000 fwd.... : 00F7 bwd.... : 0000 pta_apm @ C00007B8 pmap... : B0000000 fwd.... : 00EE bwd.... : 0102 pta_apm @ C0000770 pmap... : E0000000 fwd.... : 00FA bwd.... : 00F7 pta_apm @ C00007D0 pmap... : 30000000 fwd.... : 0112 bwd.... : 00EE pta_apm @ C0000890 pmap... : B0000000 fwd.... : 010A bwd.... : 00FA pta_apm @ C0000850 pmap... : B0000000 fwd.... : 0111 bwd.... : 0112 pta_apm @ C0000888 pmap... : 50000000 fwd.... : 00F5 bwd.... : 010A pta_apm @ C00007A8 pmap... : A0000000 fwd.... : 010E bwd.... : 0111 pta_apm @ C0000870 pmap... : 10000000 fwd.... : 00F6 bwd.... : 00F5 pta_apm @ C00007B0 pmap... : D0000000 fwd.... : 010C bwd.... : 010E pta_apm @ C0000860 pmap... : 30000000 fwd.... : 0114 bwd.... : 00F6 pta_apm @ C00008A0 pmap... : 10000000 fwd.... : 0108 bwd.... : 010C pta_apm @ C0000840 pmap... : E0000000 fwd.... : 010D bwd.... : 0114 pta_apm @ C0000868 pmap... : D0000000 fwd.... : 0106 bwd.... : 0108 pta_apm @ C0000830 pmap... : 50000000 fwd.... : 0000 bwd.... : 010D
The ste subcommand displays segment table entry for 64-bit process.
example:
KDB(0)> ste display segment table Segment Table (STAB) Select the STAB entry to display by: 1) esid 2) sid 3) dump hash class (input=esid) 4) dump entire stab Enter your choice: 4 display entire stab 000000002FF9D000: ESID 0000000080000000 VSID 0000000000024292 V Ks Kp 000000002FF9D010: ESID 0000000000000000 VSID 0000000000000000 V Ks Kp 000000002FF9D020: ESID 0000000000000000 VSID 0000000000000000 000000002FF9D030: ESID 0000000000000000 VSID 0000000000000000 000000002FF9D040: ESID 0000000000000000 VSID 0000000000000000 ... (0)> f stack frame thread+002A98 STACK: [00031960]e_block_thread+000224 () [00041738]nsleep+000124 (??, ??) [01CFF0F4]nsleep64_+000058 (0FFFFFFF, F0000001, 00000001, 10003730, 1FFFFEF0, 1FFFFEF8) [000038B4].sys_call+000000 () [80000010000867C]080000010000867C (??, ??, ??, ??) [80000010001137C]nsleep+000094 (??, ??) [800000100058204]sleep+000030 (??) [100000478]main+0000CC (0000000100000001, 00000000200FEB78) [10000023C]__start+000044 () (0)> ste display segment table Segment Table (STAB) Select the STAB entry to display by: 1) esid 2) sid 3) dump hash class (input=esid) 4) dump entire stab Enter your choice: 3 hash class Hash Class to dump (in hex) [esid ok here]: 08000010 input=esid PRIMARY HASH GROUP 000000002FF9D800: ESID 0000000000000010 VSID 0000000000002BC1 V Ks Kp 000000002FF9D810: ESID 0000000080000010 VSID 0000000000014AEA V Ks Kp 000000002FF9D820: ESID 0000000000000000 VSID 0000000000000000 000000002FF9D830: ESID 0000000000000000 VSID 0000000000000000 000000002FF9D840: ESID 0000000000000000 VSID 0000000000000000 000000002FF9D850: ESID 0000000000000000 VSID 0000000000000000 000000002FF9D860: ESID 0000000000000000 VSID 0000000000000000 000000002FF9D870: ESID 0000000000000000 VSID 0000000000000000 SECONDARY HASH GROUP 000000002FF9D780: ESID 0000000000000000 VSID 0000000000000000 000000002FF9D790: ESID 0000000000000000 VSID 0000000000000000 000000002FF9D7A0: ESID 0000000000000000 VSID 0000000000000000 000000002FF9D7B0: ESID 0000000000000000 VSID 0000000000000000 000000002FF9D7C0: ESID 0000000000000000 VSID 0000000000000000 000000002FF9D7D0: ESID 0000000000000000 VSID 0000000000000000 000000002FF9D7E0: ESID 0000000000000000 VSID 0000000000000000 000000002FF9D7F0: ESID 0000000000000000 VSID 0000000000000000 000000002FF9DFF0: ESID 0000000000000000 VSID 0000000000000000 (0)> ste 1 display esid entry in segment table Enter the esid (in hex): 0FFFFFFFF 000000002FF9DF80: ESID 00000000FFFFFFFF VSID 00000000000325F9 V Ks Kp
The sr64 subcommand displays segment registers for 64-bit process.
example:
KDB(0)> sr64 ? display help Usage: sr64 [-p pid] [esid] [size] KDB(0)> sr64 display all segment registers SR00000000: 60000000 SR00000002: 60002B45 SR0000000D: 6000614C SR00000010: 6000520A SR00000011: 6000636C SR8001000A: 60003B47 SR80020014: 6000B356 SR8FFFFFFF: 60000340 SR90000000: 60001142 SR9FFFFFFF: 60004148 SRFFFFFFFF: 6000B336 KDB(0)> sr64 11 display up to 16 SRs from 10 Segment registers for address space of Pid: 000048CA SR00000010: 6000E339 SR00000011: 6000B855 KDB(0)> sr64 0 100 display up to 256 SRs from 0 Segment registers for address space of Pid: 000048CA SR00000000: 60000000 SR00000002: 60002B45 SR0000000D: 6000614C SR00000010: 6000520A SR00000011: 6000636C
The segst64 subcommand displays segment state for 64-bit process.
example:
KDB(0)> segst64 display snode base last nvalid sfwd sbwd 00000000 00000003 FFFFFFFE 00000010 00000001 FFFFFFFF ESID segstate segflag num_segs fno/shmp/srval/nsegs SR00000003>[ 0] SEG_AVAIL 00000000 0000000A SR0000000D>[ 1] SEG_OTHER 00000001 00000001 SR0000000E>[ 2] SEG_AVAIL 00000000 00000001 SR0000000F>[ 3] SEG_OTHER 00000001 00000001 SR00000010>[ 4] SEG_TEXT 00000001 00000001 SR00000011>[ 5] SEG_WORKING 00000001 00000000 SR00000012>[ 6] SEG_AVAIL 00000000 8000FFF8 SR8001000A>[ 7] SEG_WORKING 00000001 00000000 SR8001000B>[ 8] SEG_AVAIL 00000000 00010009 SR80020014>[ 9] SEG_WORKING 00000001 00000000 SR80020015>[10] SEG_AVAIL 00000000 0FFDFFEA SR8FFFFFFF>[11] SEG_WORKING 00000001 00000000 SR90000000>[12] SEG_TEXT 00000001 00000001 SR90000001>[13] SEG_AVAIL 00000000 0FFFFFFE SR9FFFFFFF>[14] SEG_TEXT 00000001 00000001 SRA0000000>[15] SEG_AVAIL 00000000 5FFFFFFF snode base last nvalid sfwd sbwd 00000001 FFFFFFFF FFFFFFFF 00000001 FFFFFFFF 00000000 ESID segstate segflag num_segs fno/shmp/srval/nsegs SRFFFFFFFF>[ 0] SEG_WORKING 00000001 00000000
The apt subcommand displays alias page table.
example:
KDB(4)> apt display alias page table entry VMM APT Select the APT to display by: 1) index 2) sid,pno 3) page frame Enter your choice: 1 index Enter the index (in hex): 0 value VMM APT Entry 00000000 of 0000FF67 > valid > pinned segment identifier (sid) : 00001004 page number (pno) : 0000 page frame (nfr) : FF000 protection key (key) : 0 storage control attr (wimg) : 5 next on hash (next) : FFFF next on alias list (anext): 0000 next on free list (free) : FFFF KDB(4)> apt 2 display alias page table entry Enter the sid (in hex): 1004 sid value Enter the pno (in hex): 100 pno value VMM APT Entry 00000001 of 0000FF67 > valid > pinned segment identifier (sid) : 00001004 page number (pno) : 0100 page frame (nfr) : FF100 protection key (key) : 0 storage control attr (wimg) : 5 next on hash (next) : 0000 next on alias list (anext): 0000 next on free list (free) : FFFF
The vmwait subcommand displays VMM wait status.
example:
KDB(6)> th -w WPGIN display threads waiting for VMM SLOT NAME STATE TID PRI CPUID CPU FLAGS WCHAN thread+000780 10 lrud SLEEP 00A15 010 000 00001004 vmmdseg+69C84D0 thread+0012C0 25 dtlogin SLEEP 01961 03C 000 00000000 vmmdseg+69C8670 thread+001500 28 cnsview SLEEP 01C71 03C 000 00000004 vmmdseg+69C8670 thread+00B1C0 237 jfsz SLEEP 0EDCD 032 000 00001000 vm_zqevent+000000 thread+00C240 259 jfsc SLEEP 10303 01E 000 00001000 _$STATIC+000110 thread+00E940 311 rm SLEEP 137C3 03C 000 00000000 vmmdseg+69C8670 thread+012300 388 touch SLEEP 1843B 03C 000 00000000 vmmdseg+69C8670 thread+014700 436 rm SLEEP 1B453 03C 000 00000000 vmmdseg+69C8670 thread+0165C0 477 rm SLEEP 1DD8D 03C 000 00000000 vmmdseg+69C8670 thread+0177C0 501 cres SLEEP 1F529 03C 000 00000000 vmmdseg+69C8670 thread+01C980 610 lslv SLEEP 262AF 028 000 00000000 vmmdseg+69C8670 thread+01D7C0 629 touch SLEEP 27555 03C 000 00000000 vmmdseg+69C8670 thread+021840 715 vmmmp9 SLEEP 2CBC7 03C 000 00400000 vmmdseg+69C8670 thread+023640 755 cres1 SLEEP 2F3DF 03C 000 00000000 vmmdseg+69C8670 thread+027540 839 xlC SLEEP 34779 03C 000 00000000 vmmdseg+69C8670 thread+032B80 1082 rm SLEEP 43AAB 03C 000 00000000 vmmdseg+69C8670 thread+033900 1100 rm SLEEP 44CD9 03C 000 00000000 vmmdseg+69C8670 thread+038D00 1212 ksh SLEEP 4BC45 029 000 00000000 vmmdseg+69C8670 thread+03FA80 1358 cres SLEEP 54EDD 03C 000 00000000 vmmdseg+69C8670 thread+049140 1559 touch SLEEP 617F7 03C 000 00000000 vmmdseg+69C8670 thread+04A880 1590 rm SLEEP 6365D 03C 000 00000000 vmmdseg+69C8670 thread+053AC0 1785 rm SLEEP 6F9A5 03C 000 00000000 vmmdseg+69C8670 thread+05BA40 1955 rm SLEEP 7A3BB 03C 000 00000000 vmmdseg+69C8670 thread+05FC40 2043 cres SLEEP 7FBB5 03C 000 00000000 vmmdseg+69C8670 thread+065DC0 2173 touch SLEEP 87D35 03C 000 00000000 vmmdseg+69C8670 thread+0951C0 3181 ksh SLEEP C6DE9 03C 000 00000000 vmmdseg+69C8670 thread+0AD040 3691 renamer SLEEP E6B93 03C 000 00000000 vmmdseg+69C8670 thread+0AD7C0 3701 renamer SLEEP E751F 03C 000 00000000 vmmdseg+69C8670 thread+0B8E00 3944 ksh SLEEP F6839 03C 000 00000000 vmmdseg+69C8670 thread+0C1B00 4132 touch SLEEP 10243D 03C 000 00000000 vmmdseg+69C8670 thread+0C2E80 4158 renamer SLEEP 103EA9 03C 000 00000000 vmmdseg+69C8670 thread+0CF480 4422 renamer SLEEP 1146F1 03C 000 00000000 vmmdseg+69C8670 thread+0D0F80 4458 link_fil SLEEP 116A39 03C 000 00000000 vmmdseg+69C9C74 thread+0DC140 4695 sync SLEEP 1257BB 03C 000 00000000 vmmdseg+69C8670 thread+0DD280 4718 touch SLEEP 126E57 03C 000 00000000 vmmdseg+69C8670 thread+0E5A40 4899 renamer SLEEP 132315 03C 000 00000000 vmmdseg+69C8670 thread+0EE140 5079 renamer SLEEP 13D7C3 03C 000 00000000 vmmdseg+69C8670 thread+0F03C0 5125 renamer SLEEP 1405B7 03C 000 00000000 vmmdseg+69C8670 thread+0FC540 5383 renamer SLEEP 15072F 03C 000 00000000 vmmdseg+69C8670 thread+101AC0 5497 renamer SLEEP 157909 03C 000 00000000 vmmdseg+69C8670 thread+10D280 5742 rm SLEEP 166E37 03C 000 00000000 vmmdseg+69C8670 KDB(6)> sw 4458 switch to thread slot 4458 Switch to thread: <thread+0D0F80> KDB(6)> f display stack frame thread+0D0F80 STACK: [00017380].backt+000000 (0000EA07, C00C2A00 [??]) [000524F4]vm_gettlock+000020 (??, ??) [001C0D28]iwrite+0001E4 (??) [001C3860]finicom+0000B4 (??, ??) [001C3BC0]comlist+0001CC (??, ??) [001C3C8C]_commit+000030 (00000000, 00000002, 0A1A06C0, 0A1ACFE8, 2FF3B400, E88C7C80, 34EF6655, 2FF3AE20) [0020BD60]jfs_link+0000C4 (??, ??, ??, ??) [001CED6C]vnop_link+00002C (??, ??, ??, ??) [001D5F7C]link+000270 (??, ??) [000037D8].sys_call+000000 () [10000270]main+000098 (0000000C, 2FF229A4) [10000174].__start+00004C () KDB(6)> vmwait vmmdseg+69C9C74 display waiting channel VMM Wait Info Waiting on transaction block number 00000057 KDB(6)> tblk 87 display transaction block @tblk[87] vmmdseg +69C9C3C logtid.... 002C77CF next...... 00000064 tid....... 00000057 flag...... 00000000 cpn....... 00000000 ceor...... 00000000 cxor...... 00000000 csn....... 00000000 waitsid... 00000000 waitline.. 00000000 locker.... 00000000 lsidx..... 00000AB3 logage.... 00B71704 gcwait.... FFFFFFFF waitors... E60D0F80 cqnext.... 00000000
The ames subcommand prints the specified process address map.
example:
KDB(4)> ames display current process address map VMM AMEs Select the ame to display by: 1) current process 2) specified process Enter your choice: 1 current process VMM address map, address BADCD23C previous entry (vme_prev) : BADCC9FC next entry (vme_next) : BADCC9FC minimum offset (min_offset) : 30000000 maximum offset (max_offset) : D0000000 number of entries (nentries) : 00000001 size (size) : 00001000 reference count (ref_count) : 00000001 hint (hint) : BADCC9FC first free hint (first_free) : BADCC9FC entries pageable (entries_pageable): 00000000 VMM map entry, address BADCC9FC > copy-on-write > needs-copy previous entry (vme_prev) : BADCD23C next entry (vme_next) : BADCD23C start address (vme_start) : 60000000 end address (vme_end) : 60001000 object (vnode ptr) (object) : 09D7EB88 page num in object (obj_pno) : 00000000 cur protection (protection) : 00000003 max protection (max_protection): 00000007 inheritance (inheritance) : 00000001 wired_count (wired_count) : 00000000 source sid (source_sid) : 0000272A mapping sid (mapping_sid) : 000040B4 paging sid (paging_sid) : 000029CE original page num (orig_obj_pno) : 00000000 xmem attach count (xmattach_count): 00000000 KDB(4)> scb 2 display mapping sid Enter the sid (in hex): 000040B4 sid value VMM SCB Addr B6A1384C Index 000010B4 of 00003A2F Segment ID: 000040B4 MAPPING SEGMENT ame start address (start): 60000000 ame hint (ame) : BADCC9FC segment info bits (_sibits) : 10000000 default storage key (_defkey) : 0 > (_segtype)..... mapping segment > (_segtype)..... segment is valid next free list/mmap cnt (free) : 00000001 non-fblu pageout count (npopages): 0000 xmem attach count (xmemcnt) : 0000 address of XPT root (vxpto) : 00000000 pages in real memory (npages) : 00000000 page frame at head (sidlist) : FFFFFFFF max assigned page number (maxvpn) : FFFFFFFF lock (lock) : E8038520
The zproc subcommand prints the VMM zeroing kproc.
example:
KDB(1)> zproc display VMM zeroing kproc VMM zkproc pid = 63CA tid = 63FB Current queue info Queue resides at 0x0009E3E8 with 10 elements Requests 16800 processed 16800 failed 0 Elements sid pno npg pno npg 0 - 007FFFFF FFFFFFFF 00000000 FFFFFFFF 00000000 1 - 007FFFFF FFFFFFFF 00000000 FFFFFFFF 00000000 2 - 007FFFFF FFFFFFFF 00000000 FFFFFFFF 00000000 3 - 007FFFFF FFFFFFFF 00000000 FFFFFFFF 00000000 4 - 007FFFFF FFFFFFFF 00000000 FFFFFFFF 00000000 5 - 007FFFFF FFFFFFFF 00000000 FFFFFFFF 00000000 6 - 007FFFFF FFFFFFFF 00000000 FFFFFFFF 00000000 7 - 007FFFFF FFFFFFFF 00000000 FFFFFFFF 00000000 8 - 007FFFFF FFFFFFFF 00000000 FFFFFFFF 00000000 9 - 007FFFFF FFFFFFFF 00000000 FFFFFFFF 00000000
The vmlog subcommand prints the current VMM error log entry.
example:
KDB(0)> vmlog display VMM error log entry Most recent VMM errorlog entry Error id = DSI_PROC Exception DSISR/ISISR = 40000000 Exception srval = 007FFFFF Exception virt addr = FFFFFFFF Exception value = 0000000E KDB(0)> dr iar display current instruction iar : 01913DF0 01913DF0 lwz r0,0(r3) r0=00001030,0(r3)=FFFFFFFF KDB(0)>
The vrld subcommand prints the VMM reload xlate table. This information is only used on SMP POWER PC machine, to prevent VMM reload dead-lock.
example:
KDB(0)> vrld freepno: 0A, initobj: 0008DAA8, *initobj: FFFFFFFF [00] sid: 00000000, anch: 00 {00} spno:00000000, epno:00000097, nfr:00000000, next:01 {01} spno:00000098, epno:000000AB, nfr:00000098, next:02 {02} spno:FFFFFFFF, epno:000001F6, nfr:000001DD, next:03 {03} spno:000001F7, epno:000001FA, nfr:000001F7, next:04 {04} spno:0000038C, epno:000003E3, nfr:00000323, next:FF [01] sid: 00000041, anch: 06 {06} spno:00003400, epno:0000341F, nfr:000006EF, next:05 {05} spno:00003800, epno:00003AFE, nfr:000003F0, next:08 {08} spno:00006800, epno:00006800, nfr:0000037C, next:07 {07} spno:00006820, epno:00006820, nfr:0000037B, next:09 {09} spno:000069C0, epno:000069CC, nfr:0000072F, next:FF [02] sid: FFFFFFFF, anch: FF [03] sid: FFFFFFFF, anch: FF KDB(0)>
The ipc subcommand reports interprocess communication facility information.
example:
KDB(0)> ipc IPC info Select the display: 1) Message Queues 2) Shared Memory 3) Semaphores Enter your choice: 1 1) all msqid_ds 2) select one msqid_ds 3) struct msg Enter your choice: 1 Message Queue id 00000000 @ 019E6988 uid........... 00000000 gid........... 00000009 cuid.......... 00000000 cgid.......... 00000009 mode.......... 000083B0 seq........... 0000 key........... 4107001C msg_first..... 00000000 msg_last...... 00000000 msg_cbytes.... 00000000 msg_qnum...... 00000000 msg_qbytes.... 0000FFFF msg_lspid..... 00000000 msg_lrpid..... 00000000 msg_stime..... 00000000 msg_rtime..... 00000000 msg_ctime..... 3250C406 msg_rwait..... 0000561D msg_wwait..... FFFFFFFF msg_reqevents. 0000 Message Queue id 00000001 @ 019E69D8 uid........... 00000000 gid........... 00000000 cuid.......... 00000000 cgid.......... 00000000 mode.......... 000083B6 seq........... 0000 key........... 77020916 msg_first..... 00000000 msg_last...... 00000000 msg_cbytes.... 00000000 msg_qnum...... 00000000 msg_qbytes.... 0000FFFF msg_lspid..... 00000000 msg_lrpid..... 00000000 msg_stime..... 00000000 msg_rtime..... 00000000 msg_ctime..... 3250C40B msg_rwait..... 00006935 msg_wwait..... FFFFFFFF msg_reqevents. 0000
The lka subcommand prints VMM lock anchor. The tblk subcommand prints the specified transaction block.
example:
KDB(4)> lka display VMM lock anchor VMM LOCKANCH vmmdseg +69C8654 nexttid................ : 003AB65A freetid................ : 0000009A maxtid................. : 000000B8 lwptr.................. : BEDCD000 freelock............... : 0000027B morelocks.............. : BEDD4000 syncwait............... : 00000000 tblkwait............... : 00000000 freewait............... : 00000000 @tblk[1] vmmdseg +69C86BC logtid.... 003AB611 next...... 000002CF tid....... 00000001 flag...... 00000000 cpn....... 00000000 ceor...... 00000000 cxor...... 00000000 csn....... 00000000 waitsid... 00006A78 waitline.. 00000009 locker.... 00000015 lsidx..... 0000096C logage.... 00B84FEC gcwait.... FFFFFFFF waitors... 00000000 cqnext.... 00000000 @tblk[2] vmmdseg +69C86FC logtid.... 003AB61A next...... 00000000 tid....... 00000002 flag...... 00000000 cpn....... 00000000 ceor...... 00000000 cxor...... 00000000 csn....... 00000000 waitsid... 00000000 waitline.. 00000000 locker.... 00000000 lsidx..... 0000096C logage.... 00B861B8 gcwait.... FFFFFFFF waitors... 00000000 cqnext.... 00000000 @tblk[3] vmmdseg +69C873C tblk[3].cqnext vmmdseg +69C8D3C logtid.... 003AB625 next...... 0000010D tid....... 00000003 flag...... 00000007 cpn....... 00000B8B ceor...... 00000198 cxor...... 37A17C95 csn....... 00000342 waitsid... 00000000 waitline.. 00000000 locker.... 00000000 lsidx..... 0000096C logage.... 00B2AFC8 gcwait.... 00031825 waitors... E6012300 cqnext.... B69C8D3C flag...... QUEUE READY COMMIT @tblk[4] vmmdseg +69C877C logtid.... 003AB649 next...... 00000301 tid....... 00000004 flag...... 00000000 cpn....... 00000000 ceor...... 00000000 cxor...... 00000000 csn....... 00000000 waitsid... 00000000 waitline.. 00000000 locker.... 00000000 lsidx..... 0000096C logage.... 00B35FB8 gcwait.... FFFFFFFF waitors... 00000000 cqnext.... 00000000 @tblk[5] vmmdseg +69C87BC logtid.... 003AB418 next...... 00000000 tid....... 00000005 flag...... 00000000 cpn....... 00000000 ceor...... 00000000 cxor...... 00000000 csn....... 00000000 waitsid... 00007E7D waitline.. 00000014 locker.... 0000002D lsidx..... 0000096C logage.... 00B46244 gcwait.... FFFFFFFF waitors... 00000000 cqnext.... 00000000 @tblk[6] vmmdseg +69C87FC logtid.... 003AB5AD next...... 0000003D tid....... 00000006 flag...... 00000000 cpn....... 00000000 ceor...... 00000000 cxor...... 00000000 csn....... 00000000 waitsid... 00007E7D waitline.. 0000001C locker.... 00000046 lsidx..... 0000096C logage.... 00B2BF9C gcwait.... FFFFFFFF waitors... E603CE40 cqnext.... 00000000 @tblk[7] vmmdseg +69C883C logtid.... 003AB1EC next...... 000001A3 tid....... 00000007 flag...... 00000000 cpn....... 00000000 ceor...... 00000000 cxor...... 00000000 csn....... 00000000 waitsid... 00000000 waitline.. 00000000 locker.... 00000000 lsidx..... 0000096C logage.... 00B11F74 gcwait.... FFFFFFFF waitors... 00000000 cqnext.... 00000000 (4)> more (^C to quit) ?
The lkh subcommand prints VMM lock hash list.
example:
KDB(4)> lkh display VMM lock hash list BUCKET HEAD COUNT vmmdseg +69CC67C 1 00000144 3 vmmdseg +69CC680 2 0000019D 3 vmmdseg +69CC684 3 0000028E 2 vmmdseg +69CC688 4 00000179 2 vmmdseg +69CC68C 5 00000275 4 vmmdseg +69CC690 6 00000249 1 vmmdseg +69CC694 7 000000D4 2 vmmdseg +69CC698 8 00000100 2 vmmdseg +69CC69C 9 0000005E 2 vmmdseg +69CC6A0 10 00000171 2 vmmdseg +69CC6A4 11 00000245 2 vmmdseg +69CC6AC 13 00000136 2 vmmdseg +69CC6B4 15 000002F1 3 vmmdseg +69CC6B8 16 00000048 1 vmmdseg +69CC6BC 17 00000344 2 vmmdseg +69CC6C4 19 000001E9 2 vmmdseg +69CC6C8 20 0000021C 4 vmmdseg +69CC6D0 22 00000239 1 vmmdseg +69CC6D4 23 00000008 2 vmmdseg +69CC6D8 24 00000304 2 vmmdseg +69CC6DC 25 00000228 6 vmmdseg +69CC6E8 28 0000008A 2 vmmdseg +69CC6EC 29 000002F8 3 vmmdseg +69CC6F0 30 0000005F 1 vmmdseg +69CC6F4 31 000001FB 1 vmmdseg +69CC6FC 33 00000107 1 vmmdseg +69CC700 34 0000032A 2 vmmdseg +69CC704 35 00000326 1 vmmdseg +69CC708 36 0000006B 2 vmmdseg +69CC70C 37 000002CF 1 vmmdseg +69CC710 38 00000034 1 vmmdseg +69CC718 40 000000CC 2 vmmdseg +69CC71C 41 000001A4 1 vmmdseg +69CC728 44 000000C5 2 vmmdseg +69CC72C 45 000001C8 1 vmmdseg +69CC730 46 00000075 3 vmmdseg +69CC734 47 00000347 2 vmmdseg +69CC738 48 000001C0 2 vmmdseg +69CC73C 49 00000321 4 vmmdseg +69CC740 50 0000033C 3 vmmdseg +69CC744 51 00000201 3 vmmdseg +69CC750 54 000002CE 3 vmmdseg +69CC754 55 00000325 1 vmmdseg +69CC758 56 00000263 2 vmmdseg +69CC75C 57 0000014D 3 vmmdseg +69CC760 58 000001FE 6 ... KDB(4)> lkh 58 display VMM lock hash list 58 HASH ENTRY( 58): B69CC760 NEXT TIDNXT SID PAGE TID FLAGS 510 vmmdseg +EDD0FC0 695 445 0061BA 0103 0013 WRITE 695 vmmdseg +EDD26E0 478 817 007E7D 00C4 000C WRITE FREE 478 vmmdseg +EDD0BC0 669 778 006A78 00C1 009E WRITE FREE 669 vmmdseg +EDD23A0 449 204 00326E 0057 004C WRITE 449 vmmdseg +EDD0820 593 782 00729E 0527 0007 WRITE BIGALLOC 593 vmmdseg +EDD1A20 0 815 00729E 0127 0007 WRITE BIGALLOC
The lkw subcommand prints VMM lock words.
example:
KDB(4)> lkw display VMM lock words NEXT TIDNXT SID PAGE TID FLAGS 0 vmmdseg +EDCD000 0 0 000000 0000 0000 1 vmmdseg +EDCD020 620 679 00729E 0104 004C WRITE FREE BIGALLOC 2 vmmdseg +EDCD040 365 460 00729E 0169 00B7 WRITE FREE BIGALLOC 3 vmmdseg +EDCD060 222 650 00729E 0163 00B7 WRITE FREE BIGALLOC 4 vmmdseg +EDCD080 501 BEDCD140 0025A3 0000 0188 5 vmmdseg +EDCD0A0 748 115 00729E 0557 0025 WRITE FREE BIGALLOC 6 vmmdseg +EDCD0C0 145 534 0061BA 0103 0046 WRITE FREE 7 vmmdseg +EDCD0E0 79 586 006038 0080 0024 WRITE FREE 8 vmmdseg +EDCD100 97 439 00224A 005C 0091 WRITE FREE 9 vmmdseg +EDCD120 38 33 00729E 047F 00B7 WRITE FREE BIGALLOC 10 vmmdseg +EDCD140 4 BEDD1820 0025A3 0000 0184 11 vmmdseg +EDCD160 BEDCDD20 BEDCEA40 006B1B 0000 0070 12 vmmdseg +EDCD180 684 440 00729E 0062 004C WRITE FREE BIGALLOC 13 vmmdseg +EDCD1A0 736 402 00729E 0467 00B7 WRITE FREE BIGALLOC 14 vmmdseg +EDCD1C0 0 BEDD3300 006B1B 0000 008C 15 vmmdseg +EDCD1E0 0 BEDCEAE0 006B1B 0000 0004 16 vmmdseg +EDCD200 BEDCDAE0 BEDD0840 007B3B 0000 0020 17 vmmdseg +EDCD220 109 78 001E85 0065 005D WRITE FREE 18 vmmdseg +EDCD240 0 0 005A74 007C 00A3 WRITE 19 vmmdseg +EDCD260 563 797 00729E 0511 004C WRITE FREE BIGALLOC 20 vmmdseg +EDCD280 0 BEDCEB20 002D89 0000 001C 21 vmmdseg +EDCD2A0 0 0 000D86 0000 0047 WRITE 22 vmmdseg +EDCD2C0 0 BEDD1460 007B3B 0000 0034 23 vmmdseg +EDCD2E0 505 234 00729E 009E 0007 WRITE BIGALLOC 24 vmmdseg +EDCD300 30 614 00729E 0221 00B7 WRITE FREE BIGALLOC 25 vmmdseg +EDCD320 660 244 007E7D 0101 0074 WRITE FREE 26 vmmdseg +EDCD340 143 821 00729E 013C 00B7 WRITE FREE BIGALLOC 27 vmmdseg +EDCD360 0 593 00729E 028D 0007 WRITE BIGALLOC 28 vmmdseg +EDCD380 0 BEDD06A0 006B1B 0000 00B4 29 vmmdseg +EDCD3A0 701 407 00729E 016D 00B7 WRITE FREE BIGALLOC 30 vmmdseg +EDCD3C0 75 24 00729E 0392 00B7 WRITE FREE BIGALLOC 31 vmmdseg +EDCD3E0 0 BEDD0E00 006B1B 0000 0088 32 vmmdseg +EDCD400 477 BEDD1300 0025A3 0000 0144 33 vmmdseg +EDCD420 9 151 00729E 04D5 00B7 WRITE FREE BIGALLOC 34 vmmdseg +EDCD440 178 589 001221 0075 0063 WRITE FREE 35 vmmdseg +EDCD460 304 794 00729E 03D3 0025 WRITE FREE BIGALLOC 36 vmmdseg +EDCD480 314 BEDCFBA0 0025A3 0000 0150 37 vmmdseg +EDCD4A0 682 149 006038 0082 00A1 WRITE FREE 38 vmmdseg +EDCD4C0 555 9 00729E 021E 00B7 WRITE FREE BIGALLOC 39 vmmdseg +EDCD4E0 218 322 00729E 0416 00B7 WRITE FREE BIGALLOC 40 vmmdseg +EDCD500 207 66 006A78 005A 0030 WRITE FREE 41 vmmdseg +EDCD520 244 307 005376 0000 0074 WRITE FREE 42 vmmdseg +EDCD540 549 626 00729E 0420 004C WRITE FREE BIGALLOC 43 vmmdseg +EDCD560 155 830 00619C 0000 0081 WRITE FREE 44 vmmdseg +EDCD580 118 BEDCFA80 00499A 0000 016C 45 vmmdseg +EDCD5A0 BEDD1280 BEDD3160 006B1B 0000 0068 ... KDB(4)> lkw 45 display VMM lock word 45 NEXT TIDNXT SID PAGE TID FLAGS 45 vmmdseg +EDCD5A0 BEDD1280 BEDD3160 006B1B 0000 0068 bits........... 1000154A log............ 1000154B home........... 10001540 extmem......... 100015C0 next........... BEDD1280 vmmdseg +EDD1280 tidnxt......... BEDD3160 vmmdseg +EDD3160 NEXT TIDNXT SID PAGE TID FLAGS 779 vmmdseg +EDD3160 BEDCE660 BEDD0C20 006B1B 0000 0064 bits........... 10001480 log............ 10001483 home........... 10001500 extmem......... 10001501 next........... BEDCE660 vmmdseg +EDCE660 tidnxt......... BEDD0C20 vmmdseg +EDD0C20 NEXT TIDNXT SID PAGE TID FLAGS 481 vmmdseg +EDD0C20 BEDCFAA0 BEDD1FA0 006B1B 0000 0060 bits........... 10001484 log............ 10001485 home........... 10001486 extmem......... 10001482 next........... BEDCFAA0 vmmdseg +EDCFAA0 tidnxt......... BEDD1FA0 vmmdseg +EDD1FA0 NEXT TIDNXT SID PAGE TID FLAGS 637 vmmdseg +EDD1FA0 BEDD2200 BEDD1220 006B1B 0000 0040 bits........... 100012A3 log............ 100012A4 home........... 10001299 extmem......... 1000131C next........... BEDD2200 vmmdseg +EDD2200 tidnxt......... BEDD1220 vmmdseg +EDD1220 NEXT TIDNXT SID PAGE TID FLAGS 529 vmmdseg +EDD1220 BEDCF980 BEDD31A0 006B1B 0000 0028 bits........... 10001187 log............ 10001189 home........... 100011A3 extmem......... 1000118B next........... BEDCF980 vmmdseg +EDCF980 tidnxt......... BEDD31A0 vmmdseg +EDD31A0 NEXT TIDNXT SID PAGE TID FLAGS 781 vmmdseg +EDD31A0 BEDCD2C0 BEDCFB40 006B1B 0000 0014 bits........... 10001166 log............ 10001167 home........... 1000115A extmem......... 10001157 next........... BEDCD2C0 vmmdseg +EDCD2C0 tidnxt......... BEDCFB40 vmmdseg +EDCFB40 NEXT TIDNXT SID PAGE TID FLAGS 346 vmmdseg +EDCFB40 0 BEDCFFC0 006B1B 0000 0058 bits........... 100013C1 log............ 100013C2 home........... 100013C3 extmem......... 10001400 tidnxt......... BEDCFFC0 vmmdseg +EDCFFC0 NEXT TIDNXT SID PAGE TID FLAGS 382 vmmdseg +EDCFFC0 0 BEDD15C0 006B1B 0000 005C bits........... 10001403 log............ 10001488 home........... 10001489 extmem......... 1000148A tidnxt......... BEDD15C0 vmmdseg +EDD15C0 NEXT TIDNXT SID PAGE TID FLAGS 558 vmmdseg +EDD15C0 0 BEDCFC40 006B1B 0000 0050 (4)> more (^C to quit) ? bits........... 10001386 log............ 10001387 home........... 10001389 extmem......... 1000138C tidnxt......... BEDCFC40 vmmdseg +EDCFC40 NEXT TIDNXT SID PAGE TID FLAGS 354 vmmdseg +EDCFC40 0 BEDD36E0 006B1B 0000 0054 bits........... 1000138A log............ 1000138B home........... 10001382 extmem......... 10001385 tidnxt......... BEDD36E0 vmmdseg +EDD36E0 NEXT TIDNXT SID PAGE TID FLAGS 823 vmmdseg +EDD36E0 0 BEDD1D20 006B1B 0000 0010 bits........... 10001548 log............ 10001546 home........... 10001544 extmem......... 10001547 tidnxt......... BEDD1D20 vmmdseg +EDD1D20 NEXT TIDNXT SID PAGE TID FLAGS 617 vmmdseg +EDD1D20 0 BEDD2D40 006B1B 0000 0030 bits........... 100011A7 log............ 100011FC home........... 100011FD extmem......... 100011E8 tidnxt......... BEDD2D40 vmmdseg +EDD2D40 NEXT TIDNXT SID PAGE TID FLAGS 746 vmmdseg +EDD2D40 0 BEDD16A0 006B1B 0000 000C bits........... 10001553 log............ 10001554 home........... 10001545 extmem......... 10001541 tidnxt......... BEDD16A0 vmmdseg +EDD16A0 NEXT TIDNXT SID PAGE TID FLAGS 565 vmmdseg +EDD16A0 0 BEDD2C20 006B1B 0000 0020 bits........... 10001159 log............ 10001141 home........... 1000115D extmem......... 1000115C tidnxt......... BEDD2C20 vmmdseg +EDD2C20 NEXT TIDNXT SID PAGE TID FLAGS 737 vmmdseg +EDD2C20 0 BEDCDAE0 006B1B 0000 0048 bits........... 1000130B log............ 1000131D home........... 1000131A extmem......... 1000131B tidnxt......... BEDCDAE0 vmmdseg +EDCDAE0 NEXT TIDNXT SID PAGE TID FLAGS 87 vmmdseg +EDCDAE0 0 BEDD2E80 006B1B 0000 0000 bits........... 1000108F log............ 10001110 home........... 1000114E extmem......... 1000114F tidnxt......... BEDD2E80 vmmdseg +EDD2E80 NEXT TIDNXT SID PAGE TID FLAGS 756 vmmdseg +EDD2E80 0 BEDD0960 006B1B 0000 004C bits........... 1000132B log............ 1000132C home........... 10001342 extmem......... 10001388 tidnxt......... BEDD0960 vmmdseg +EDD0960 NEXT TIDNXT SID PAGE TID FLAGS 459 vmmdseg +EDD0960 0 BEDD1140 006B1B 0000 0034 bits........... 100011CF log............ 100011E2 home........... 100011D0 extmem......... 100011D1 tidnxt......... BEDD1140 vmmdseg +EDD1140 (4)> more (^C to quit) ? NEXT TIDNXT SID PAGE TID FLAGS 522 vmmdseg +EDD1140 0 BEDCE580 006B1B 0000 0024 bits........... 10001188 log............ 10001184 home........... 10001186 extmem......... 1000118A tidnxt......... BEDCE580 vmmdseg +EDCE580 NEXT TIDNXT SID PAGE TID FLAGS 172 vmmdseg +EDCE580 0 BEDCEC60 006B1B 0000 001C bits........... 100011A0 log............ 1000119E home........... 100011F1 extmem......... 100011F2 tidnxt......... BEDCEC60 vmmdseg +EDCEC60 NEXT TIDNXT SID PAGE TID FLAGS 227 vmmdseg +EDCEC60 0 BEDCD1E0 006B1B 0000 0008 bits........... 10001549 log............ 10001543 home........... 10001542 extmem......... 10001552 tidnxt......... BEDCD1E0 vmmdseg +EDCD1E0 NEXT TIDNXT SID PAGE TID FLAGS 15 vmmdseg +EDCD1E0 0 BEDCEAE0 006B1B 0000 0004 bits........... 10001155 log............ 10001173 home........... 10001140 extmem......... 10001156 tidnxt......... BEDCEAE0 vmmdseg +EDCEAE0 NEXT TIDNXT SID PAGE TID FLAGS 215 vmmdseg +EDCEAE0 0 BEDCE0E0 006B1B 0000 003C bits........... 100011E4 log............ 100011E5 home........... 10001297 extmem......... 10001298 tidnxt......... BEDCE0E0 vmmdseg +EDCE0E0 NEXT TIDNXT SID PAGE TID FLAGS 135 vmmdseg +EDCE0E0 0 BEDCE440 006B1B 0000 0044 bits........... 10001318 log............ 1000133B home........... 1000133C extmem......... 1000130F tidnxt......... BEDCE440 vmmdseg +EDCE440 NEXT TIDNXT SID PAGE TID FLAGS 162 vmmdseg +EDCE440 0 BEDCF160 006B1B 0000 002C bits........... 100011A4 log............ 100011A5 home........... 100011A6 extmem......... 10001185 tidnxt......... BEDCF160 vmmdseg +EDCF160 NEXT TIDNXT SID PAGE TID FLAGS 267 vmmdseg +EDCF160 0 BEDCF2E0 006B1B 0000 0038 bits........... 100011EA log............ 100011EB home........... 100011C8 extmem......... 100011D5 tidnxt......... BEDCF2E0 vmmdseg +EDCF2E0 NEXT TIDNXT SID PAGE TID FLAGS 279 vmmdseg +EDCF2E0 0 0 006B1B 0000 0018 bits........... 10001117 log............ 10001168 home........... 10001169 extmem......... 10001158 KDB(4)>
The vmdmap subcommand prints VMM disk maps. Argument could be a PDT index. Default is all paging and file system disk map. To look at more, it is necessary to initialize the segment register 13 with the corresponding srval.
example:
KDB(1)> vmdmap display VMM disk maps PDT slot [0000] Vmdmap [D0000000] dmsrval [00000C03] <--- paging space 0 mapsize................00007400 freecnt................00004D22 agsize.................00000800 agcnt..................00000007 totalags...............0000000F lastalloc..............00003384 maptype................00000003 clsize.................00000001 clmask.................00000080 version................00000000 agfree@................D0000030 tree@..................D00000A0 spare1@................D00001F4 mapsorsummary@.........D0000200 PDT slot [0001] Vmdmap [D0800000] dmsrval [00000C03] <--- paging space 1 mapsize................00005400 freecnt................00003CF6 agsize.................00000800 agcnt..................00000007 totalags...............0000000B lastalloc..............000047F4 maptype................00000003 clsize.................00000001 clmask.................00000080 version................00000000 agfree@................D0800030 tree@..................D08000A0 spare1@................D08001F4 mapsorsummary@.........D0800200 PDT slot [0002] Vmdmap [D1000000] dmsrval [00000C03] <--- paging space 2 mapsize................00005800 freecnt................0000418C agsize.................00000800 agcnt..................00000007 totalags...............0000000B lastalloc..............000047A8 maptype................00000003 clsize.................00000001 clmask.................00000080 version................00000000 agfree@................D1000030 tree@..................D10000A0 spare1@................D10001F4 mapsorsummary@.........D1000200 PDT slot [0011] Vmdmap [D0000000] dmsrval [00003C2F] <--- file system mapsize................00006400 freecnt................000057CC agsize.................00000800 agcnt..................00000007 totalags...............0000000D lastalloc..............00001412 maptype................00000001 clsize.................00000008 clmask.................000000FF version................00000000 agfree@................D0000030 tree@..................D00000A0 spare1@................D00001F4 mapsorsummary@.........D0000200 PDT slot [0013] Vmdmap [D0000000] dmsrval [00005455] <--- file system mapsize................00000800 freecnt................0000030A agsize.................00000400 agcnt..................00000002 totalags...............00000002 lastalloc..............0000011A maptype................00000001 clsize.................00000020 clmask.................00000000 version................00000001 agfree@................D0000030 tree@..................D00000A0 spare1@................D00001F4 mapsorsummary@.........D0000200 ... KDB(1)> vmdmap 21 display VMM disk map slot 0x21 PDT slot [0021] Vmdmap [D0000000] dmsrval [000075BC] mapsize................00000800 freecnt................000006B4 agsize.................00000800 agcnt..................00000001 totalags...............00000001 lastalloc..............00000060 maptype................00000001 clsize.................00000008 clmask.................000000FF version................00000000 agfree@................D0000030 tree@..................D00000A0 spare1@................D00001F4 mapsorsummary@.........D0000200
The vl subcommand prints VMM spin locks.
example:
KDB(1)> vl display VMM spin locks GLOBAL LOCKS pmap lock at @ 00000000 FREE vmker lock at @ 0009A1AC LOCKED by thread: 0039AED pdt lock at @ B69C84D4 FREE vmap lock at @ B69C8514 FREE ame lock at @ B69C8554 FREE rpt lock at @ B69C8594 FREE alloc lock at @ B69C85D4 FREE apt lock at @ B69C8614 FREE lw lock at @ B69C8678 FREE SCOREBOARD scoreboard cpu 0 : hint.....................00000000 00: empty 01: empty 02: empty 03: empty 04: empty 05: empty 06: empty 07: empty scoreboard cpu 1 : hint.....................00000000 00: lock@ B6A31E60 lockword E804F380 01: empty 02: empty 03: empty 04: empty 05: empty 06: empty 07: empty scoreboard cpu 2 : hint.....................00000002 00: lock@ B6A2851C lockword E8048B60 01: empty 02: empty 03: empty 04: empty 05: empty 06: empty 07: empty scoreboard cpu 3 : hint.....................00000005 00: empty (1)> more (^C to quit) ? 01: empty 02: empty 03: empty 04: lock@ B6AB04D8 lockword E8096E20 05: lock@ B69F2E54 lockword E8022760 06: empty 07: empty scoreboard cpu 4 : hint.....................00000000 00: lock@ B6AAC380 lockword E8095740 01: empty 02: empty 03: empty 04: empty 05: empty 06: empty 07: empty scoreboard cpu 5 : hint.....................00000001 00: lock@ B6A7BBE0 lockword E805CC40 01: lock@ B69CCD84 lockword E8000C80 02: empty 03: empty 04: empty 05: empty 06: empty 07: empty scoreboard cpu 6 : hint.....................00000000 00: empty 01: empty 02: empty 03: empty 04: empty 05: empty 06: empty 07: empty scoreboard cpu 7 : hint.....................00000001 00: empty 01: lock@ B6AA8FF8 lockword E807CA00 02: empty 03: empty 04: empty 05: empty 06: empty 07: empty KDB(1)>