diff options
author | sbruno <sbruno@FreeBSD.org> | 2010-06-18 01:17:16 +0000 |
---|---|---|
committer | sbruno <sbruno@FreeBSD.org> | 2010-06-18 01:17:16 +0000 |
commit | 1014412bc5f4d8d357a0931a58081f2b22ae46a3 (patch) | |
tree | 838112efc46abf064f467dc2d6b27e7c5a8abef9 | |
parent | 09f088a4573916eae591a58023d3ad0da1eff81d (diff) | |
download | FreeBSD-src-1014412bc5f4d8d357a0931a58081f2b22ae46a3.zip FreeBSD-src-1014412bc5f4d8d357a0931a58081f2b22ae46a3.tar.gz |
Much closer approximation of the kernel's calculation of this value.
Reviewed by: alc
Obtained from: Yahoo Inc.
-rw-r--r-- | lib/libkvm/kvm_proc.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/lib/libkvm/kvm_proc.c b/lib/libkvm/kvm_proc.c index f8f8483..07b172f 100644 --- a/lib/libkvm/kvm_proc.c +++ b/lib/libkvm/kvm_proc.c @@ -323,7 +323,12 @@ nopgrp: (void)kvm_read(kd, (u_long)proc.p_vmspace, (char *)&vmspace, sizeof(vmspace)); kp->ki_size = vmspace.vm_map.size; - kp->ki_rssize = vmspace.vm_swrss; /* XXX */ + /* + * Approximate the kernel's method of calculating + * this field. + */ +#define pmap_resident_count(pm) ((pm)->pm_stats.resident_count) + kp->ki_rssize = pmap_resident_count(&vmspace.vm_pmap); kp->ki_swrss = vmspace.vm_swrss; kp->ki_tsize = vmspace.vm_tsize; kp->ki_dsize = vmspace.vm_dsize; |