diff options
author | Giampaolo Rodola <g.rodola@gmail.com> | 2016-01-08 13:20:32 +0000 |
---|---|---|
committer | Giampaolo Rodola <g.rodola@gmail.com> | 2016-01-08 13:20:32 +0000 |
commit | df490a94b04debcc692837a36b15b7a2a67187dd (patch) | |
tree | ed406688c7a3eb17ca10a60be0d84fe4e4869bb3 | |
parent | c27ee1d83b2a3057885dc4f4a1ca2eea2bd613d6 (diff) | |
download | psutil-df490a94b04debcc692837a36b15b7a2a67187dd.tar.gz |
#557 (NetBSD): virtual_mem(): add cached mem stats
-rw-r--r-- | psutil/arch/bsd/netbsd.c | 22 |
1 files changed, 13 insertions, 9 deletions
diff --git a/psutil/arch/bsd/netbsd.c b/psutil/arch/bsd/netbsd.c index 48373c72..86dfec41 100644 --- a/psutil/arch/bsd/netbsd.c +++ b/psutil/arch/bsd/netbsd.c @@ -426,7 +426,7 @@ PyObject * psutil_virtual_mem(PyObject *self, PyObject *args) { unsigned int total, active, inactive, wired, cached, free; size_t size = sizeof(total); - struct uvmexp_sysctl uvmexp; + struct uvmexp_sysctl uv; int mib[] = {CTL_VM, VM_UVMEXP2}; long pagesize = getpagesize(); size = sizeof(uvmexp); @@ -436,15 +436,19 @@ psutil_virtual_mem(PyObject *self, PyObject *args) { PyErr_SetFromErrno(PyExc_OSError); return NULL; } + return Py_BuildValue("KKKKKKKK", - (unsigned long long) uvmexp.npages * pagesize, - (unsigned long long) uvmexp.free * pagesize, - (unsigned long long) uvmexp.active * pagesize, - (unsigned long long) uvmexp.inactive * pagesize, - (unsigned long long) uvmexp.wired * pagesize, - (unsigned long long) 0, - (unsigned long long) 0, - (unsigned long long) 0 + (unsigned long long) uv.npages * pagesize, // total + (unsigned long long) uv.free * pagesize, // free + (unsigned long long) uv.active * pagesize, // active + (unsigned long long) uv.inactive * pagesize, // inactive + (unsigned long long) uv.wired * pagesize, // wired + // taken from: + // https://github.com/satterly/zabbix-stats/blob/master/src/libs/ + // zbxsysinfo/netbsd/memory.c + (unsigned long long) uv.filepages + uv.execpages * pagesize, // cached + (unsigned long long) 0, // buffers + (unsigned long long) 0 // shared ); } |