sg_get_swap_stats(3) get VM statistics

Other Alias

sg_get_mem_stats

SYNOPSIS


#include <statgrab.h>

sg_mem_stats *sg_get_mem_stats(void);

sg_swap_stats *sg_get_swap_stats(void);

DESCRIPTION

Memory statistics are accessed through the sg_get_mem_stats function. It returns a pointer to a static sg_mem_stats.

The sg_get_swap_stats returns returns swap statistics. It returns a pointer to a static sg_swap_stats.

On the FreeBSD operating system elevated privileges are required to access the swap statistics. Making the program setgid kmem should be sufficient. Programs running as root will not have this problem.

RETURN VALUES

The VM system calls can return a pointer to either a sg_mem_stats or a sg_swap_stats.

typedef struct{
        long long total;
        long long free;
        long long used;
        long long cache;
}sg_mem_stats;
    
total
The total amount of memory in bytes.
free
The total free memory in bytes.
used
The total used memory in bytes.
cache
The amount of cache used in bytes.

typedef struct{
        long long total;
        long long used;
        long long free;
}sg_swap_stats;
    
total
The total swap space in bytes.
used
The used swap in bytes.
free
The free swap in bytes.

TODO

Add a function to hold open the file descriptor to the kernel memory structures. Doing this would allow the elevated privileges to be dropped early on.

SEE ALSO

statgrab(3)