diff options
| author | Giampaolo Rodola <g.rodola@gmail.com> | 2016-01-08 11:06:38 +0000 |
|---|---|---|
| committer | Giampaolo Rodola <g.rodola@gmail.com> | 2016-01-08 11:06:38 +0000 |
| commit | 01564d8036c3d20678036afddeb098b9719185b4 (patch) | |
| tree | 15e27020f9fd68b383c864d70b26f95e6a74041c | |
| parent | 333466e49cf92284666f6686e0bbf304ef98e736 (diff) | |
| download | psutil-01564d8036c3d20678036afddeb098b9719185b4.tar.gz | |
#557 (NetBSD): fix VMS proc mem; now it matches ps perfectly
| -rw-r--r-- | psutil/_psutil_bsd.c | 31 |
1 files changed, 19 insertions, 12 deletions
diff --git a/psutil/_psutil_bsd.c b/psutil/_psutil_bsd.c index b34cab68..47d55664 100644 --- a/psutil/_psutil_bsd.c +++ b/psutil/_psutil_bsd.c @@ -461,23 +461,30 @@ psutil_proc_memory_info(PyObject *self, PyObject *args) { if (psutil_kinfo_proc(pid, &kp) == -1) return NULL; + return Py_BuildValue( "(lllll)", #ifdef __FreeBSD__ - ptoa(kp.ki_rssize), // rss - (long)kp.ki_size, // vms - ptoa(kp.ki_tsize), // text - ptoa(kp.ki_dsize), // data - ptoa(kp.ki_ssize) // stack + (long) ptoa(kp.ki_rssize), // rss + (long) kp.ki_size, // vms + (long) ptoa(kp.ki_tsize), // text + (long) ptoa(kp.ki_dsize), // data + (long) ptoa(kp.ki_ssize) // stack #else - ptoa(kp.p_vm_rssize), // rss - // vms, this is how ps does it, see: + (long) ptoa(kp.p_vm_rssize), // rss + #ifdef __OpenBSD__ + // VMS, this is how ps determines it on OpenBSD: // 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 - + (long) ptoa(kp.p_vm_dsize + kp.p_vm_ssize + kp.p_vm_tsize), // vms + #elif __NetBSD__ + // VMS, this is how top determines it on NetBSD: + // ftp://ftp.iij.ad.jp/pub/NetBSD/NetBSD-release-6/src/external/bsd/ + // top/dist/machine/m_netbsd.c + (long) ptoa(kp.p_vm_msize), // vms + #endif + (long) ptoa(kp.p_vm_tsize), // text + (long) ptoa(kp.p_vm_dsize), // data + (long) ptoa(kp.p_vm_ssize) // stack #endif ); } |
