sg_get_page_stats_r(3) get paging statistics

Other Alias

sg_get_page_stats, sg_get_page_stats_diff, sg_get_page_stats_diff_between, sg_free_page_stats

SYNOPSIS


#include <statgrab.h>

sg_page_stats *sg_get_page_stats (size_t *entries);

sg_page_stats *sg_get_page_stats_r (size_t *entries);

sg_page_stats *sg_get_page_stats_diff (size_t *entries);

sg_page_stats *sg_get_page_stats_diff_between (const sg_page_stats *cur, const sg_page_stats *last, size_t *entries);

sg_error sg_free_page_stats (sg_page_stats *data);

DESCRIPTION

The page stats module deliver the number of pages swapped in and out, either since the machine has been booted (by the sg_get_page_stats() and sg_get_page_stats_r() functions) or the difference between two measured statistics (by the sg_get_page_stats_diff() and sg_get_page_stats_diff_between() functions).

The sg_get_page_stats_diff() function calculates the difference between the last call to the function sg_get_page_stats() in this thread (the statistics of the earlier call are saved and sg_get_page_stats() is called immediately after this).

API Shortcut

function returns data owner
sg_get_page_stats sg_page_stats * libstatgrab (thread local)
sg_get_page_stats_r sg_page_stats * caller
sg_get_page_stats_diff sg_page_stats * libstatgrab (thread local)
sg_get_page_stats_diff_between sg_page_stats * caller

The sg_page_stats buffer received from sg_get_page_stats_r() and the sg_get_page_stats_diff_between() must be freed using sg_free_page_stats() when not needed any more. The caller is responsible for doing it.

RETURN VALUES

typedef struct{
        unsigned long long pages_pagein;
        unsigned long long pages_pageout;
        time_t systime;
}sg_page_stats;
    
pages_pagein
The number of pages swapped into memory.
pages_pageout
The number of pages swapped out of memory (to swap).
systime
The timestamp when the above stats where collected in seconds since epoch or the time period over which pages_pagein and pages_pageout were transferred.

BUGS

Solaris doesn't seem to report accurately. It reports the number of pages swapped into memory, not necessarily from swap. This feature isn't deemed entirely reliable.