New file. Added definition of `proc_map'.
1998-08-10 Martin Baulig <martin@home-of-linux.org> * include/glibtop/procmap.h (glibtop_proc_map): New file. * features.def: Added definition of `proc_map'.
This commit is contained in:
committed by
Martin Baulig
parent
b6885555c1
commit
d9361d388c
@@ -32,6 +32,10 @@
|
||||
#include <vm/vm_object.h>
|
||||
#include <vm/vm_map.h>
|
||||
|
||||
#include <sys/vnode.h>
|
||||
#include <ufs/ufs/quota.h>
|
||||
#include <ufs/ufs/inode.h>
|
||||
|
||||
#include <sys/ucred.h>
|
||||
#include <sys/user.h>
|
||||
#include <sys/sysctl.h>
|
||||
@@ -89,6 +93,8 @@ glibtop_get_proc_mem_p (glibtop *server, glibtop_proc_mem *buf,
|
||||
struct vmspace *vms, vmspace;
|
||||
struct vm_object object;
|
||||
struct plimit plimit;
|
||||
struct vnode vnode;
|
||||
struct inode inode;
|
||||
int count;
|
||||
|
||||
glibtop_suid_enter (server);
|
||||
@@ -157,8 +163,29 @@ glibtop_get_proc_mem_p (glibtop *server, glibtop_proc_mem *buf,
|
||||
|
||||
/* If the object is of type vnode, add its size */
|
||||
|
||||
if (object.type == OBJT_VNODE)
|
||||
buf->share += object.un_pager.vnp.vnp_size;
|
||||
if (object.type != OBJT_VNODE)
|
||||
continue;
|
||||
|
||||
buf->share += object.un_pager.vnp.vnp_size;
|
||||
|
||||
if (!object.handle)
|
||||
continue;
|
||||
|
||||
if (kvm_read (server->machine.kd,
|
||||
(unsigned long) object.handle,
|
||||
&vnode, sizeof (vnode)) != sizeof (vnode))
|
||||
glibtop_error_io_r (server, "kvm_read (vnode)");
|
||||
|
||||
if ((vnode.v_type != VREG) || (vnode.v_tag != VT_UFS) ||
|
||||
!vnode.v_data) continue;
|
||||
|
||||
if (kvm_read (server->machine.kd,
|
||||
(unsigned long) vnode.v_data,
|
||||
&inode, sizeof (inode)) != sizeof (inode))
|
||||
glibtop_error_io_r (server, "kvm_read (inode)");
|
||||
|
||||
fprintf (stderr, "INODE: %ld\n", inode.i_number);
|
||||
|
||||
}
|
||||
|
||||
buf->flags = _glibtop_sysdeps_proc_mem;
|
||||
|
||||
Reference in New Issue
Block a user