mdb写経/ZFS

2012/09/21

dcmds

::arc
ARC の各種変数を表示します。
> ::arc
hits                      =    327944
misses                    =     11177
demand_data_hits          =    282145
demand_data_misses        =      3369
demand_metadata_hits      =     37056
demand_metadata_misses    =      2574
prefetch_data_hits        =       575
prefetch_data_misses      =      1102
prefetch_metadata_hits    =      8168
prefetch_metadata_misses  =      4132
    :
    :
::blkptr
blkptr_t 構造体の情報を表示します。
> ffffff01cf2a0f40::blkptr
DVA[0]=<0:19000:200:STD:1>
DVA[1]=<0:c0019400:200:STD:1>
DVA[2]=<0:18000d000:200:STD:1>
[L0 OBJSET] FLETCHER_4 LZJB LE contiguous unique unencrypted 3-copy
size=800L/200P birth=464L/464P fill=30
cksum=e9908a92c:5dd54a339d5:1330b65631095:2a9d07de82954b

address ::dbuf
dmu_buf_impl_t 構造体の情報を表示します。
> 0xffffff010c400010::dbuf
        addr object lvl blkid holds os
ffffff010c400010      ce6 0     bonus  1 rpool/ROOT/solaris/var

address ::dbuf_stats
dbuf の状態を表示します。
> 0xffffff010c400010::dbuf_stats
hash table has 262144 buckets, 6870 dbufs (avg 38 buckets/dbuf)

hash chain length       number of buckets
0                       255324
1                       6770
2                       50

hash chain depth        number of dbufs
0 or more               6870    100%
1 or more               50      0%

::dbufs [-O objset_t*] [-n objset_name | "mos"] [-o object | "mdn"] [-l level] [-b blkid | "bonus"]
指定した条件に一致する dmu_buf_impl_t 構造体を表示します。
> ::dbufs
0xffffff010c400010
0xffffff010c200030
0xffffff00e2400038
0xffffff010c4000f0
0xffffff010c200110
0xffffff00e2400118
0xffffff010c4001d0
0xffffff010c2001f0
0xffffff00e24001f8
0xffffff010c4002b0
0xffffff010c2002d0
0xffffff00e24002d8
    :
    :

[ address ] ::spa [-cv]
spa_t 構造体(Storage Pool Allocator)のサマリーを表示します。
> ::spa -v
ADDR                 STATE NAME
ffffff00cad4b580    ACTIVE rpool

    ADDR             STATE     AUX          DESCRIPTION
    ffffff00c77f93c0 HEALTHY   -            root
    ffffff00c77f8d40 HEALTHY   -              /dev/dsk/c3d0s0

address ::spa_config
spa_t 構造体の設定を表示します。
> ffffff00cad4b580::spa_config
version=0000000000000021
name='rpool'
state=0000000000000000
txg=000000000002c13c
pool_guid=d34b02944c39643d
timestamp=000000004fa41e62
hostid=00000000008556f7
hostname=''
vdev_children=0000000000000001
vdev_tree
    type='root'
    id=0000000000000000
    guid=d34b02944c39643d
    create_txg=0000000000000004
    children[0]
        type='disk'
        id=0000000000000000
        guid=e3f5e0f9898d7298
        path='/dev/dsk/c3d0s0'
        devid='id1,cmdk@AQEMU_HARDDISK=QM00001/a'
        phys_path='/pci@0,0/pci-ide@1,1/ide@0/cmdk@0,0:a'
        whole_disk=0000000000000000
        metaslab_array=000000000000001b
        metaslab_shift=000000000000001e
        ashift=0000000000000009
        asize=0000001ffd980000
        is_log=0000000000000000
        create_txg=0000000000000004

address ::spa_space [-b]
spa_t 構造体の設定を表示します。
> 00000300073ce040::spa_space
dd_space_towrite = 0M 0M 0M 0M
dd_phys.dd_used_bytes = 14966M
dd_phys.dd_compressed_bytes = 14867M
dd_phys.dd_uncompressed_bytes = 14867M
ms_allocmap = 0M 0M 0M 0M
ms_freemap = 0M 0M 0M 0M
ms_map = 1418M
last synced avail = 54729M
current syncing avail = 54729M

address ::spa_vdevs
spa_t 構造体の vdev の概要を表示します。
> 000006001093c000::spa_vdevs
ADDR             STATE     AUX          DESCRIPTION                      
000006001464c640 HEALTHY   -            root
000006001464c000 HEALTHY   -              mirror
00000600147b1300 HEALTHY   -                /dev/dsk/c1t2d0s0
00000600147b1940 HEALTHY   -                /dev/dsk/c1t3d0s0

address ::vdev [-re]
vdev_t 構造体の概要を表示します。
> 00000600147b1940::vdev
ADDR             STATE     AUX          DESCRIPTION                      
00000600147b1940 HEALTHY   -            /dev/dsk/c1t3d0s0

address ::zfs_blkstats [-v]
指定した spa_t 構造体の、block type の状態を、直近の scrub を使用して表示します。
> 6001093c000::zfs_blkstats
Dittoed blocks on same vdev: 820

Blocks  LSIZE   PSIZE   ASIZE     avg    comp   %Total  Type
     1    16K      1K   3.00K   3.00K   16.00     0.00  object directory
     3  1.50K   1.50K   4.50K   1.50K    1.00     0.00  object array
     1    16K     16K   48.0K   48.0K    1.00     0.00  packed nvlist
   156   672K    180K    540K   3.46K    3.73     0.01  SPA space map
    75  1.17M    295K    604K   8.05K    4.06     0.02  DMU dnode
     1     2K     512      1K      1K    4.00     0.00  DMU objset
     4  2.50K      2K   6.00K   1.50K    1.25     0.00  DSL directory child map
     3  1.50K   1.50K   4.50K   1.50K    1.00     0.00  DSL dataset snap map
     5  33.5K   5.00K   15.0K   3.00K    6.70     0.00  DSL props
 22.3K  2.58G   2.58G   2.58G    119K    1.00    99.93  ZFS plain file
   367   730K    237K    473K   1.28K    3.08     0.01  ZFS directory
     1    512     512      1K      1K    1.00     0.00  ZFS master node
     1  6.00K     512      1K      1K   12.00     0.00  ZFS delete queue
     1     1K     512   1.50K   1.50K    2.00     0.00  DSL dataset next clones
     2     2K      1K      2K      1K    2.00     0.00  ZFS user/group used
 22.9K  2.58G   2.58G   2.58G    116K    1.00    100.0  Total

[ address ] ::zfs_dbgmsg [-v]
zfs debug log を表示します。
> ::zfs_dbgmsg
spa=rpool async request task=1
spa=rpool async request task=256
internal property set pool:rpool txg:180556 primarycache=1 dataset = 66
command: zfs set primarycache=metadata rpool/swap
> ::zfs_dbgmsg -v
2012 May  5 03:22:07 spa=rpool async request task=1
ffffff00cacb5c80 is allocated from kmem_alloc_64:
            ADDR          BUFADDR        TIMESTAMP           THREAD
                            CACHE          LASTLOG         CONTENTS
ffffff00cacc0200 ffffff00cacb5c80     b84707006dab fffffffffbc36de0
                 ffffff00c50299c8 ffffff00c572a200 ffffff00c6c5d1e0
                 kmem_cache_alloc_debug+0x2b1
                 kmem_cache_alloc+0x14c
                 kmem_alloc+0xd9
                 zfs_dbgmsg+0xc0
                 spa_async_request+0x32
                 spa_load_impl+0xb65
                 spa_load+0x122
                 spa_load_impl+0xdda
                 spa_load+0x122
                 spa_load_best+0xb2
                 spa_open_common+0xea
                 spa_open+0x23
                 dsl_dir_open_spa+0x96
                 dsl_dataset_hold+0x44
                 dsl_dataset_own+0x35

    :
    :

::zfs_params
zfs の設定可能なパラメータを表示します。
> ::zfs_params
arc_reduce_dnlc_percent = 0x3
zfs_arc_max = 0x0
zfs_arc_min = 0x0
arc_shrink_shift = 0x5
zfs_mdcomp_disable = 0x0
zfs_prefetch_disable = 0x0
zfetch_max_streams = 0x8
zfetch_min_sec_reap = 0x2
zfetch_block_cap = 0x100
zfetch_array_rd_sz = 0x100000
zfs_default_bs = 0x9
zfs_default_ibs = 0xe
metaslab_aliquot = 0x80000
mdb: variable reference_tracking_enable not found: unknown symbol name
mdb: variable reference_history not found: unknown symbol name
spa_max_replication_override = 0x3
spa_mode_global = 0x3
zfs_flags = 0x0
    :
    :

[ address ] ::zio
zio_t 構造体の要約を表示します。
> 0xffffff01cda3f9c8::zio
ADDRESS                                  TYPE  STAGE            WAITER
ffffff01cda3f9c8                         NULL  OPEN             -

::zio_state
システム上の全て、または特定の pool の zio_t 構造体を表示します。
> ::zio_state
ADDRESS                                  TYPE  STAGE            WAITER
ffffff01d3211590                         NULL  OPEN             -
ffffff01cda3f9c8                         NULL  OPEN             -


walker

metaslab
spa_t 構造体のアドレスを指定して、metaslab_t 構造体のセットに対して反復適用します。
> 6001093c000::walk metaslab |::print metaslab_t ms_smo.smo_object
ms_smo.smo_object = 0x1a
ms_smo.smo_object = 0x22
ms_smo.smo_object = 0x25
ms_smo.smo_object = 0x28
ms_smo.smo_object = 0x29
    :
    :

spa
spa_t 構造体のセットに対して反復適用します。
> ::walk spa |::print spa_t spa_name
spa_name = [ "crashtest" ]
spa_name = [ "rpool" ]
spa_name = [ "tank" ]

zfs_znode_cache
zfs_znode_cache キャッシュに対して反復適用します。
> ::walk zfs_znode_cache |::print znode_t z_vnode |::vnode2path
/usr/lib/fm/fmd/plugins/disk-monitor.so
/usr/lib/locale/ja_JP.UTF-8/LC_MESSAGES/SUNW_OST_OSCMD.mo
/usr/platform/SUNW,A70/sbin
/dev
/etc/device.tab
/platform/sun4u/kernel/sys/sparcv9
/etc/security/policy.conf
/usr/sbin/syslogd
    :
    :

zio
zio_t 構造体のセットに対して反復適用します。
> ::walk zio |::print zio_t io_type
io_type = 0 (ZIO_TYPE_NULL)
io_type = 0 (ZIO_TYPE_NULL)

0 件のコメント:

コメントを投稿