static int VM_MEMORY_TOTAL(AGENT_RESULT *result) { ZBX_PSTAT_GETSTATIC(); SET_UI64_RESULT(result, (zbx_uint64_t)pst.physical_memory * pst.page_size); return SYSINFO_RET_OK; }
static int VM_MEMORY_AVAILABLE(AGENT_RESULT *result) { ZBX_PSTAT_GETSTATIC(); ZBX_PSTAT_GETDYNAMIC(); SET_UI64_RESULT(result, (zbx_uint64_t)pdy.psd_free * pst.page_size); return SYSINFO_RET_OK; }
static int VM_MEMORY_USED(AGENT_RESULT *result) { ZBX_PSTAT_GETSTATIC(); ZBX_PSTAT_GETDYNAMIC(); SET_UI64_RESULT(result, (zbx_uint64_t)(pst.physical_memory - pdy.psd_free) * pst.page_size); return SYSINFO_RET_OK; }
static int VM_MEMORY_PAVAILABLE(AGENT_RESULT *result) { ZBX_PSTAT_GETSTATIC(); ZBX_PSTAT_GETDYNAMIC(); if (0 == pst.physical_memory) return SYSINFO_RET_FAIL; SET_DBL_RESULT(result, pdy.psd_free / (double)pst.physical_memory * 100); return SYSINFO_RET_OK; }
static int VM_MEMORY_PUSED(AGENT_RESULT *result) { ZBX_PSTAT_GETSTATIC(); ZBX_PSTAT_GETDYNAMIC(); if (0 == pst.physical_memory) { SET_MSG_RESULT(result, zbx_strdup(NULL, "Cannot calculate percentage because total is zero.")); return SYSINFO_RET_FAIL; } SET_DBL_RESULT(result, (pst.physical_memory - pdy.psd_free) / (double)pst.physical_memory * 100); return SYSINFO_RET_OK; }