Windowsにおける[system.swap.size[,free]]について

お世話になります。

■サーバ
ZabbixサーバVer:2.4
OS:CentOS 6.5 x86_64

■エージェント
ZabbixエージェントVers:2.4.1
OS:Windows Server 2012 R2
RAM:16GB

■確認内容
現在、標準のテンプレート(Template OS Windows)にて監視を行っています。
Free swap space(system.swap.size[,free])の値を見ると、0Bとなっています。
Windowsにおいて、system.swap.size[,free]は、
どの値を監視(計算?)しているのでしょうか?

以上、よろしくお願い致します。

コメント表示オプション

お好みのコメント表示方法を選び「設定の保存」をクリックすると変更が反映されます。
ユーザー TF0814 の写真

仮想メモリの空き状況です。
そのWindowsホストにて本当に仮想メモリの空きが0か、
もしくは、仮想メモリが無効になっているのではないでしょうか?

ユーザー ngkr の写真

ご回答ありがとうございます。

該当のWindowsホストを確認したところ、以下のような状態でした。

ページングファイル:2,432MB

物理メモリの合計:16,376 MB
利用できる物理メモリ:14,947 MB
仮想メモリ:最大サイズ:18,808 MB
仮想メモリ:利用可能:13,195 MB
仮想メモリ:使用中:5,613 MB

上記の通り、仮想メモリは十分に余力があるように見受けられます。
以下のような数式になるかと思っておりましたが、異なるのでしょうか?
system.swap.size[,free] = [仮想メモリ:利用可能] - [仮想メモリ:使用中]

ユーザー KAZ の写真
ngkrさん

↓こんな感じで取得されています。
Zabbix2.4.1のSYSTEM_SWAP_SIZE関数
	if (NULL != zbx_GlobalMemoryStatusEx)
	{
		ms_ex.dwLength = sizeof(MEMORYSTATUSEX);

		zbx_GlobalMemoryStatusEx(&ms_ex);

		real_swap_total = ms_ex.ullTotalPageFile > ms_ex.ullTotalPhys ?
				ms_ex.ullTotalPageFile - ms_ex.ullTotalPhys : 0;
		real_swap_avail = ms_ex.ullAvailPageFile > ms_ex.ullAvailPhys ?
				ms_ex.ullAvailPageFile - ms_ex.ullAvailPhys : 0;
	}
	else
	{
		GlobalMemoryStatus(&ms);

		real_swap_total = ms.dwTotalPageFile > ms.dwTotalPhys ?
				ms.dwTotalPageFile - ms.dwTotalPhys : 0;
		real_swap_avail = ms.dwAvailPageFile > ms.dwAvailPhys ?
				ms.dwAvailPageFile - ms.dwAvailPhys : 0;
	}

	if (real_swap_avail > real_swap_total)
		real_swap_avail = real_swap_total;

	if (NULL == mode || '\0' == *mode || 0 == strcmp(mode, "total"))
		SET_UI64_RESULT(result, real_swap_total);
	else if (0 == strcmp(mode, "free"))
		SET_UI64_RESULT(result, real_swap_avail);
	else if (0 == strcmp(mode, "pfree"))
		SET_DBL_RESULT(result, (real_swap_avail / (double)real_swap_total) * 100.0);
	else if (0 == strcmp(mode, "used"))
		SET_UI64_RESULT(result, real_swap_total - real_swap_avail);
	else
	{
		SET_MSG_RESULT(result, zbx_strdup(NULL, "Invalid second parameter."));
		return SYSINFO_RET_FAIL;
	}
GlobalMemoryStatusEx関数が使えたらGlobalMemoryStatusEx関数から
それ以外の場合はGlobalMemoryStatus関数で取得します。

MEMORYSTATUSEX構造体は下記を見ると分かり良いかと。
http://blog.goo.ne.jp/masaki_goo_2006/e/607d1f267d0d0ab6a5e647b2592f5e19

ページングの空き容量(仮想メモリ:利用可能) <= 物理メモリの空き容量(利用できる物理メモリ)なので、real_swap_availが0になってfreeが0になってますね…
うーん、バグ臭い…
↓これが正しいような…
real_swap_total = ullTotalPageFile
real_swap_avail = ullAvailPageFile

2015/06/05 17:28 追記、どう見てもバグですね…
2015/06/05 17:30 追記、Zabbix2.4.5でも直ってないですね…
2015/06/05 18:00 ZBX-9619で障害報告してきました。
ユーザー ngkr の写真

ご回答および障害報告までありがとうございます。
Free swap space(system.swap.size[,free])については静観することとします...