tail head cat sleep
QR code linking to this page

Manual Pages  — KINFO_GETVMMAP

NAME

kinfo_getvmmap – function for getting per-process memory map information

CONTENTS

LIBRARY

System Utilities Library (libutil, -lutil)

SYNOPSIS

#include <sys/types.h>
#include <sys/user.h>
#include <libutil.h>

struct kinfo_vmentry *
kinfo_getvmmap(pid_t pid, int *cntp);

DESCRIPTION

This function is used for obtaining virtual memory mapping information of a particular process.

The pid field contains the process identifier. This should be the a process that you have privilege to access. The cntp field is allows the caller to know how many records are returned.

This function is a wrapper around sysctl(3) with the KERN_PROC_VMMAP mib. While the kernel returns a packed structure, this function expands the data into a fixed record format.

RETURN VALUES

On success the kinfo_getvmmap() function returns a pointer to an array of struct kinfo_vmentry structures as defined by <sys/user.h>. The array was obtained by an internal call to malloc(3) and must be freed by the caller with a call to free(3). On failure the kinfo_getvmmap() function returns NULL.

SEE ALSO

free(3), kinfo_getfile(3), malloc(3)

HISTORY

The kinfo_getvmmap() function first appeared in FreeBSD 7.0 .

CAVEATS

kinfo_getvmmap() calls can cause significant CPU consumption because calculating the residency counts requires iterating over all memory pages of the process. Setting the sysctl variable kern.proc_vmmap_skip_resident_count to 1 prevents this calculation.

KINFO_GETVMMAP (3) May 10, 2020

tail head cat sleep
QR code linking to this page


Please direct any comments about this manual page service to Ben Bullock. Privacy policy.

Some people, when confronted with a problem, think “I know, I'll use regular expressions.” Now they have two problems.
— Jamie Zawinski