KBI 311445 Issue Addressed: Incorrect Free Disk Space Performance Counter Values From Windows
Version
Argent Advanced Technology 3.1A-1601-T17 and earlier
Date
Tuesday, 16 August 2016
Summary
Argent AT uses the Windows performance DLL (PDH.dll) to obtain counters, such as Free Disk Space on target machines
Customers may notice some of these counters — such as the Free Disk Space counter mentioned above — are inaccurate at the time of a test
This is a Microsoft Windows issue as the last read Counter Value is cached by PDH.dll
Argent AT correctly gets the performance counter but until the updated value is returned by PDH.dll, Argent will return the cached value of the counter
The issue has been addressed in Argent AT 3.1A-1601-T18
Technical Background
It can be proven that PDH.DLL does NOT update instantaneously when Free Disk Space value changes occur on a target server (Performance Monitor — like Argent — uses PDH.dll)
Screenshots below show a simple test with Performance Monitor polling the Free Disk Space Counter value
It is clear to see that Performance Monitor does not immediately notice the change in Free Disk Space when a large dummy file is created on the target drive, because the value has been cached by PDH.dll
Performance Monitor Counter Value matches System Properties for Free Space on (C:) drive:
Create a large dummy file on the (C:) drive:
Review Performance Monitor Values show old cached values even though System Properties have updated:
In order to overcome the obvious Windows OS issue, Argent checks free space of logical disks by calling Win32 API ‘GetDiskFreeSpaceEx’ on Administrative drives
For example, UNC path \\machine\C$ is used to read metrics of drive C
Resolution
Upgrade to Argent Advanced Technology 3.1A-1601-T18 or later