Contact Info

Crumbtrail » Administration » Scripts » WMI Performance Counters » VBScript

Costly - WMI sample in VBScript

The foundations for Manageability in Windows 2019/2012/2008/ and Windows 10/8/7/Vista/XP are Windows Management Instrumentation (WMI; formerly WBEM) and WMI extensions for Windows Driver Model (WDM).

ActiveXperts Network Monitor provides the ability to build monitor check routines based on WMI. ActiveXperts has collected more than a hundred WMI samples. You can use these samples as a base for new check routines you can write yourself.

On this site, you can find many WMI samples.

The Costly WMI class can be used in ActiveXperts Network Monitor to monitor your servers.



Set objWMIService = GetObject("winmgmts:\\.\root\cimv2")

Set colItems = objWMIService.ExecQuery("Select * From Win32_PerfRawData_PerfProc_Heap_Costly")

For Each objItem in colItems
	WScript.Echo "Allocs18KPersec:" & objItem.Allocs18KPersec
	WScript.Echo "Allocs1KPersec:" & objItem.Allocs1KPersec
	WScript.Echo "AllocsFrees:" & objItem.AllocsFrees
	WScript.Echo "Allocsover8KPersec:" & objItem.Allocsover8KPersec
	WScript.Echo "Avgallocrate:" & objItem.Avgallocrate
	WScript.Echo "Avgfreerate:" & objItem.Avgfreerate
	WScript.Echo "BlocksinHeapCache:" & objItem.BlocksinHeapCache
	WScript.Echo "CachedAllocsPersec:" & objItem.CachedAllocsPersec
	WScript.Echo "CachedFreesPersec:" & objItem.CachedFreesPersec
	WScript.Echo "Caption:" & objItem.Caption
	WScript.Echo "CommittedBytes:" & objItem.CommittedBytes
	WScript.Echo "Description:" & objItem.Description
	WScript.Echo "FreeBytes:" & objItem.FreeBytes
	WScript.Echo "FreeListLength:" & objItem.FreeListLength
	WScript.Echo "Frees18KPersec:" & objItem.Frees18KPersec
	WScript.Echo "Frees1KPersec:" & objItem.Frees1KPersec
	WScript.Echo "Freesover8KPersec:" & objItem.Freesover8KPersec
	WScript.Echo "Frequency_Object:" & objItem.Frequency_Object
	WScript.Echo "Frequency_PerfTime:" & objItem.Frequency_PerfTime
	WScript.Echo "Frequency_Sys100NS:" & objItem.Frequency_Sys100NS
	WScript.Echo "HeapLockcontention:" & objItem.HeapLockcontention
	WScript.Echo "LargestCacheDepth:" & objItem.LargestCacheDepth
	WScript.Echo "Name:" & objItem.Name
	WScript.Echo "PercentFragmentation:" & objItem.PercentFragmentation
	WScript.Echo "PercentVAFragmentation:" & objItem.PercentVAFragmentation
	WScript.Echo "ReservedBytes:" & objItem.ReservedBytes
	WScript.Echo "Timestamp_Object:" & objItem.Timestamp_Object
	WScript.Echo "Timestamp_PerfTime:" & objItem.Timestamp_PerfTime
	WScript.Echo "Timestamp_Sys100NS:" & objItem.Timestamp_Sys100NS
	WScript.Echo "TotalAllocsPersec:" & objItem.TotalAllocsPersec
	WScript.Echo "TotalFreesPersec:" & objItem.TotalFreesPersec
	WScript.Echo "UncommittedRangesLength:" & objItem.UncommittedRangesLength
	WScript.Echo "VirtualBytes:" & objItem.VirtualBytes
	WScript.Echo ""
	WScript.Echo "########"
	WScript.Echo ""