Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 15 Oct 2009 15:47:59 -0400
From:      grarpamp <grarpamp@gmail.com>
To:        freebsd-current@freebsd.org
Subject:   Re: vmstat -m/-z field parsing
Message-ID:  <d2e731a10910151247x22a680a7o9bc747d3c147c9d3@mail.gmail.com>
In-Reply-To: <200910150747.55101.jhb@freebsd.org>
References:  <d2e731a10910142324n5b538e4bp9dc782eae8ee46d6@mail.gmail.com> <200910150747.55101.jhb@freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
Sure, it's a workaround for vmstat -z, but not easy for vmstat -m
which has no handy colons/commas to key from.

Shouldn't stats be easy to parse in order to be useful to many
rather than a test of a few users script fu ? :)

So why not hunt up, check for potential new collisions to fix and
change the strings in a lint run? See below...

Thank you for pointing out that I had to do 'size * (used + free)',
not just 'used'. And for the fu tips too :) I guess 'free' are not
returned to the system for other uses then.

Are there detailed docs on what all the fields mean in the various
tools... vmstat -z/-m, systat -vm, netstat -m, top, ps.  Most docs
seem to just list the field names a command line switch will display,
instead what sense to make of them.


/me, grokking with wild abandon...

# sys/vm/uma_core.c:
        args.name = "UMA Kegs";
        args.name = "UMA Zones";
 struct uma_bucket_zone bucket_zones[] = {
        { NULL, "16 Bucket", 16 },
        { NULL, "32 Bucket", 32 },
        { NULL, "64 Bucket", 64 },
        { NULL, "128 Bucket", 128 },
        { NULL, NULL, 0}
};

# find -s sys -type f | xargs egrep MALLOC_DEFINE | sed -E
's/,[^,]{1,}$//' | egrep '".* .*"'
sys/arm/xscale/pxa/pxa_smi.c:MALLOC_DEFINE(M_PXASMI, "PXA SMI"
sys/arm/xscale/pxa/pxa_space.c:MALLOC_DEFINE(M_PXATAG, "PXA bus_space tags"
sys/cam/cam_periph.c:MALLOC_DEFINE(M_CAMPERIPH, "CAM periph"
sys/cam/cam_queue.c:MALLOC_DEFINE(M_CAMQ, "CAM queue"
sys/cam/cam_queue.c:MALLOC_DEFINE(M_CAMDEVQ, "CAM dev queue"
sys/cam/cam_queue.c:MALLOC_DEFINE(M_CAMCCBQ, "CAM ccb queue"
sys/cam/cam_sim.c:MALLOC_DEFINE(M_CAMSIM, "CAM SIM"
sys/cam/cam_xpt.c:MALLOC_DEFINE(M_CAMXPT, "CAM XPT"
sys/cam/scsi/scsi_low.c:MALLOC_DEFINE(M_SCSILOW, "SCSI low"
sys/cam/scsi/scsi_sa.c:MALLOC_DEFINE(M_SCSISA, "SCSI sa"
sys/cam/scsi/scsi_ses.c:MALLOC_DEFINE(M_SCSISES, "SCSI SES"
sys/cam/scsi/scsi_targ_bh.c:MALLOC_DEFINE(M_SCSIBH, "SCSI bh"
sys/compat/linux/linux_futex.c:MALLOC_DEFINE(M_FUTEX_WP, "futex wp"
sys/dev/ahci/ahci.c:MALLOC_DEFINE(M_AHCI, "AHCI driver"
sys/dev/siis/siis.c:MALLOC_DEFINE(M_SIIS, "SIIS driver"
sys/dev/sound/midi/midi.c:MALLOC_DEFINE(M_MIDI, "midi buffers"
sys/fs/nfs/nfs_commonport.c:MALLOC_DEFINE(M_NEWNFSRVCACHE, "NFSD srvcache"
sys/fs/nfs/nfs_commonport.c:MALLOC_DEFINE(M_NEWNFSDCLIENT, "NFSD V4client"
sys/fs/nfs/nfs_commonport.c:MALLOC_DEFINE(M_NEWNFSDSTATE, "NFSD
V4state", "NFSD V4 State (Openowner, Open, Lockowner
sys/fs/nfs/nfs_commonport.c:MALLOC_DEFINE(M_NEWNFSDLOCK, "NFSD V4lock"
sys/fs/nfs/nfs_commonport.c:MALLOC_DEFINE(M_NEWNFSDLOCKFILE, "NFSD lckfile"
sys/fs/nfs/nfs_commonport.c:MALLOC_DEFINE(M_NEWNFSSTRING, "NFSD string"
sys/fs/nfs/nfs_commonport.c:MALLOC_DEFINE(M_NEWNFSUSERGROUP, "NFSD usrgroup"
sys/fs/nfs/nfs_commonport.c:MALLOC_DEFINE(M_NEWNFSDREQ, "NFS req"
sys/fs/nfs/nfs_commonport.c:MALLOC_DEFINE(M_NEWNFSFH, "NFS fh"
sys/fs/nfs/nfs_commonport.c:MALLOC_DEFINE(M_NEWNFSCLOWNER, "NFSCL owner"
sys/fs/nfs/nfs_commonport.c:MALLOC_DEFINE(M_NEWNFSCLOPEN, "NFSCL open"
sys/fs/nfs/nfs_commonport.c:MALLOC_DEFINE(M_NEWNFSCLDELEG, "NFSCL deleg"
sys/fs/nfs/nfs_commonport.c:MALLOC_DEFINE(M_NEWNFSCLCLIENT, "NFSCL client"
sys/fs/nfs/nfs_commonport.c:MALLOC_DEFINE(M_NEWNFSCLLOCKOWNER, "NFSCL lckown"
sys/fs/nfs/nfs_commonport.c:MALLOC_DEFINE(M_NEWNFSCLLOCK, "NFSCL lck"
sys/fs/tmpfs/tmpfs_vfsops.c:MALLOC_DEFINE(M_TMPFSMNT, "tmpfs mount"
sys/fs/tmpfs/tmpfs_vfsops.c:MALLOC_DEFINE(M_TMPFSNAME, "tmpfs name"
sys/fs/unionfs/union_subr.c:static MALLOC_DEFINE(M_UNIONFSHASH, "UNIONFS hash"
sys/fs/unionfs/union_subr.c:MALLOC_DEFINE(M_UNIONFSNODE, "UNIONFS node"
sys/fs/unionfs/union_subr.c:MALLOC_DEFINE(M_UNIONFSPATH, "UNIONFS path"
sys/fs/unionfs/union_vfsops.c:static MALLOC_DEFINE(M_UNIONFSMNT, "UNIONFS mount"
sys/geom/eli/g_eli.c:MALLOC_DEFINE(M_ELI, "eli data"
sys/gnu/fs/xfs/FreeBSD/xfs_mountops.c:MALLOC_DEFINE(M_XFSNODE, "XFS node"
sys/kern/kern_cons.c:static MALLOC_DEFINE(M_TTYCONS, "tty console"
sys/kern/kern_fail.c:MALLOC_DEFINE(M_FAIL_POINT, "Fail Points"
sys/kern/subr_bus.c:static MALLOC_DEFINE(M_BUS_SC, "bus-sc", "Bus data
structures
sys/nfsserver/nfs_fha.c:static MALLOC_DEFINE(M_NFS_FHA, "NFS FHA"

# find -s sys -type f | xargs egrep uma_zcreate | sed 's/,.*$//' |
egrep '".* .*"'
sys/arm/arm/pmap.c:     pvzone = uma_zcreate("PV ENTRY"
sys/arm/arm/pmap.c:     l2zone = uma_zcreate("L2 Table"
sys/arm/arm/pmap.c:     l2table_zone = uma_zcreate("L2 Table"
sys/compat/ndis/subr_ntoskrnl.c:        mdl_zone = uma_zcreate("Windows MDL"
sys/compat/ndis/subr_ntoskrnl.c:        iw_zone = uma_zcreate("Windows WorkItem"
sys/dev/en/midway.c:    sc->map_zone = uma_zcreate("en dma maps"
sys/dev/en/midway.c:            en_vcc_zone = uma_zcreate("EN vccs"
sys/dev/fatm/if_fatm.c: sc->vcc_zone = uma_zcreate("FATM vccs"
sys/dev/hatm/if_hatm.c: if ((sc->vcc_zone = uma_zcreate("HE vccs"
sys/dev/iscsi/initiator/iscsi.c:          printf("iscsi_initiator:
uma_zcreate failed");
sys/dev/patm/if_patm_attach.c:  if ((sc->vcc_zone = uma_zcreate("PATM vccs"
sys/dev/patm/if_patm_attach.c:  if ((sc->tx_mapzone = uma_zcreate("PATM tx maps"
sys/fs/tmpfs/tmpfs_vfsops.c:    tmp->tm_dirent_pool = uma_zcreate("TMPFS dirent"
sys/fs/tmpfs/tmpfs_vfsops.c:    tmp->tm_node_pool = uma_zcreate("TMPFS node"
sys/fs/udf/udf_vfsops.c:        udf_zone_node = uma_zcreate("UDF Node zone"
sys/fs/udf/udf_vfsops.c:        udf_zone_ds = uma_zcreate("UDF Dirstream zone"
sys/ia64/ia64/pmap.c:   pvzone = uma_zcreate("PV ENTRY"
sys/ia64/ia64/pmap.c:   ptezone = uma_zcreate("PT ENTRY"
sys/kern/kern_umtx.c:   umtx_pi_zone = uma_zcreate("umtx pi"
sys/kern/vfs_cache.c:   cache_zone_small = uma_zcreate("S VFS Cache"
sys/kern/vfs_cache.c:   cache_zone_large = uma_zcreate("L VFS Cache"
sys/mips/mips/pmap.c:   pvzone = uma_zcreate("PV ENTRY"
sys/netgraph/netflow/netflow.c: priv->zone = uma_zcreate("NetFlow cache"
sys/netgraph/ng_base.c:         ng_qzone = uma_zcreate("NetGraph items"
sys/netgraph/ng_base.c:         ng_qdzone = uma_zcreate("NetGraph data items"
sys/netinet/ipfw/ip_fw2.c:      ipfw_dyn_rule_zone = uma_zcreate("IPFW
dynamic rule"
sys/powerpc/aim/mmu_oea.c:      moea_upvo_zone = uma_zcreate("UPVO entry"
sys/powerpc/aim/mmu_oea.c:      moea_mpvo_zone = uma_zcreate("MPVO entry"
sys/powerpc/aim/mmu_oea64.c:    moea64_upvo_zone = uma_zcreate("UPVO entry"
sys/powerpc/aim/mmu_oea64.c:    moea64_mpvo_zone = uma_zcreate("MPVO entry"
sys/powerpc/booke/pmap.c:       pvzone = uma_zcreate("PV ENTRY"
sys/security/mac/mac_label.c:   zone_label = uma_zcreate("MAC labels"
sys/sun4v/sun4v/pmap.c: pvzone = uma_zcreate("PV ENTRY"
sys/ufs/ffs/ffs_vfsops.c:               uma_inode = uma_zcreate("FFS inode"
sys/ufs/ffs/ffs_vfsops.c:               uma_ufs1 = uma_zcreate("FFS1 dinode"
sys/ufs/ffs/ffs_vfsops.c:               uma_ufs2 = uma_zcreate("FFS2 dinode"
sys/vm/device_pager.c:  fakepg_zone = uma_zcreate("DP fakepg"
sys/vm/sg_pager.c:      fakepg_zone = uma_zcreate("SG fakepg"
sys/vm/uma_core.c:      slabzone = uma_zcreate("UMA Slabs"
sys/vm/uma_core.c:      slabrefzone = uma_zcreate("UMA RCntSlabs"
sys/vm/uma_core.c:      hashzone = uma_zcreate("UMA Hash"
sys/vm/vm_map.c:        kmapentzone = uma_zcreate("KMAP ENTRY"
sys/vm/vm_map.c:        mapentzone = uma_zcreate("MAP ENTRY"
sys/vm/vm_object.c:     obj_zone = uma_zcreate("VM OBJECT"



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?d2e731a10910151247x22a680a7o9bc747d3c147c9d3>