sg_get_page_stats(3) | sg_get_page_stats(3) |
sg_get_page_stats, sg_get_page_stats_r, sg_get_page_stats_diff, sg_get_page_stats_diff_between, sg_free_page_stats - get paging statistics
#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);
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.
typedef struct{
unsigned long long pages_pagein;
unsigned long long pages_pageout;
time_t systime; }sg_page_stats;
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.
⟨https://libstatgrab.org/⟩
2019-03-08 | libstatgrab |