diff options
author | Giampaolo Rodola <g.rodola@gmail.com> | 2015-11-08 00:41:15 +0100 |
---|---|---|
committer | Giampaolo Rodola <g.rodola@gmail.com> | 2015-11-08 00:41:15 +0100 |
commit | eeac17f3b01bd82c61a3067558a2e559ba358ba6 (patch) | |
tree | 19440794c33dbdc0934dd4712a3734cbbed115af | |
parent | 04102058124bc41a0630a5d6e5d8f22eb035e26d (diff) | |
download | psutil-eeac17f3b01bd82c61a3067558a2e559ba358ba6.tar.gz |
#615: fix proc memory vms to match ps
-rw-r--r-- | psutil/_psutil_openbsd.c | 22 |
1 files changed, 14 insertions, 8 deletions
diff --git a/psutil/_psutil_openbsd.c b/psutil/_psutil_openbsd.c index 40a3541b..b98b44a4 100644 --- a/psutil/_psutil_openbsd.c +++ b/psutil/_psutil_openbsd.c @@ -3,13 +3,16 @@ * Use of this source code is governed by a BSD-style license that can be * found in the LICENSE file. * - * OpenBSD platform-specific module methods for _psutil_bsd + * OpenBSD platform-specific module methods for openbsd. + + * References: + * - OpenBSD source code: http://anoncvs.spacehopper.org/openbsd-src/ + * * Missing compared to FreeBSD implementation: * * - psutil.net_connections() * - psutil.Process.get/set_cpu_affinity() (not supported natively) * - psutil.Process.memory_maps() - * - psutil.Process.cwd() */ @@ -496,12 +499,15 @@ psutil_proc_memory_info(PyObject *self, PyObject *args) { return NULL; if (psutil_kinfo_proc(pid, &kp) == -1) return NULL; - return Py_BuildValue("(lllll)", - ptoa(kp.p_vm_rssize), // rss - (long)kp.p_vm_map_size, // vms - ptoa(kp.p_vm_tsize), // text - ptoa(kp.p_vm_dsize), // data - ptoa(kp.p_vm_ssize)); // stack + return Py_BuildValue( + "(lllll)", + ptoa(kp.p_vm_rssize), // rss + // vms, this is how ps does it, see: + // http://anoncvs.spacehopper.org/openbsd-src/tree/bin/ps/print.c#n461 + ptoa(kp.p_vm_dsize + kp.p_vm_ssize + kp.p_vm_tsize), // vms + ptoa(kp.p_vm_tsize), // text + ptoa(kp.p_vm_dsize), // data + ptoa(kp.p_vm_ssize)); // stack } |