From 7f4a3a3fd4201da864266fec5931d37fe4e72a90 Mon Sep 17 00:00:00 2001 From: Doug MacEachern Date: Wed, 7 Apr 2010 13:23:58 -0700 Subject: [PATCH] (SIGAR-188) implement mem actual free/used on HPUX --- src/os/hpux/hpux_sigar.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/os/hpux/hpux_sigar.c b/src/os/hpux/hpux_sigar.c index 2c61302d..99a1aaf8 100644 --- a/src/os/hpux/hpux_sigar.c +++ b/src/os/hpux/hpux_sigar.c @@ -75,7 +75,9 @@ char *sigar_os_error_string(sigar_t *sigar, int err) int sigar_mem_get(sigar_t *sigar, sigar_mem_t *mem) { struct pst_dynamic stats; + struct pst_vminfo vminfo; sigar_uint64_t pagesize = sigar->pstatic.page_size; + sigar_uint64_t kern; mem->total = sigar->pstatic.physical_memory * pagesize; @@ -84,8 +86,12 @@ int sigar_mem_get(sigar_t *sigar, sigar_mem_t *mem) mem->free = stats.psd_free * pagesize; mem->used = mem->total - mem->free; - mem->actual_free = mem->free; - mem->actual_used = mem->used; + pstat_getvminfo(&vminfo, sizeof(vminfo), 1, 0); + + /* "kernel dynamic memory" */ + kern = vminfo.psv_kern_dynmem * pagesize; + mem->actual_free = mem->free + kern; + mem->actual_used = mem->used - kern; sigar_mem_calc_ram(sigar, mem);