Command Section

KINFO_GETVMMAP(3)      FreeBSD Library Functions Manual      KINFO_GETVMMAP(3)

NAME
     kinfo_getvmmap - function for getting per-process memory map information

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.

CAVEAT
     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.

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.

FreeBSD 13.1-RELEASE-p6          May 10, 2020          FreeBSD 13.1-RELEASE-p6

Command Section

man2web Home...