1. DF is called twice for each heartbeat, which happens each 3 seconds.
There is a simple fix for that in the attached patch.
2. cygwin is required to run df program in windows environment.
There is a class org.apache.commons.io.FileSystemUtils, which can return disk free space
for different OSs, but it does not have means to get disk capacity.
In general in windows there is no efficient and uniform way to calculate disk capacity
using a shell command.
The choices are 'chkdsk' and 'defrag -a', but both of them are too slow to be called
every 3 seconds.
WinXP and 2003 server have a new tool called fsutil, which provides all necessary info.
I implemented a call to fsutil in case df fails, and the OS is right.
Other win versions should still run cygwin.
I tested this fetaure for linux, winXP and cygwin.
See attached patch.