svcadm(8)을 검색하려면 섹션에서 8 을 선택하고, 맨 페이지 이름에 svcadm을 입력하고 검색을 누른다.
sg_get_cpu_stats(3)
sg_get_cpu_stats(3)sg_get_cpu_stats(3)
NAME
sg_get_cpu_stats, sg_get_cpu_stats_r, sg_get_cpu_stats_diff,
sg_get_cpu_stats_diff_between, sg_get_cpu_percents, sg_get_cpu_per‐
cents_of, sg_get_cpu_percents_r, sg_free_cpu_stats - get cpu usage
SYNOPSIS
#include <statgrab.h>
sg_cpu_percents *sg_get_cpu_percents (size_t *entries);
sg_cpu_percents *sg_get_cpu_percents_of (sg_cpu_percent_source cps,
size_t *entries);
sg_cpu_percents *sg_get_cpu_percents_r (const sg_cpu_stats *whereof,
size_t *entries);
void sg_free_cpu_percents (sg_cpu_percents *data);
sg_cpu_stats *sg_get_cpu_stats (size_t *entries);
sg_cpu_stats *sg_get_cpu_stats_diff (size_t *entries);
sg_cpu_stats *sg_get_cpu_stats_r (size_t *entries);
sg_cpu_stats *sg_get_cpu_stats_diff_between (const sg_cpu_stats
*cpu_now, const sg_cpu_stats *cpu_last, size_t
*entries);
sg_error sg_free_cpu_stats (sg_cpu_stats *data);
DESCRIPTION
These are the categories of data delivered by the cpu stats module:
sg_get_cpu_stats() and sg_get_cpu_stats_r() deliver native cpu counters
since the machine has been started, sg_get_cpu_stats_diff() and
sg_get_cpu_stats_diff_between() deliver native cpu counters between two
sg_get_cpu_stats() calls and sg_get_cpu_percents_of() and
sg_get_cpu_percents_r() deliver correlated relative cpu counters (where
total is 100%).
API Shortcut
allbox ; l | l | l. T{ function T} T{ returns T} T{ data owner T}
l | l | l. T{ sg_get_cpu_stats T} T{ sg_cpu_stats * T} T{ libstat‐
grab (thread local) T} T{ sg_get_cpu_stats_r T} T{ sg_cpu_stats *
T} T{ caller T} T{ sg_get_cpu_stats_diff T} T{ sg_cpu_stats *
T} T{ libstatgrab (thread local) T} T{ sg_get_cpu_stats_diff_between
T} T{ sg_cpu_stats * T} T{ caller T} T{ sg_get_cpu_percents_of
T} T{ sg_cpu_percents * T} T{ libstatgrab (thread local) T} T{
sg_get_cpu_percents_r T} T{ sg_cpu_percents * T} T{ caller T}
The sg_cpu_stats buffer received from sg_get_cpu_stats_r() and the
sg_get_cpu_stats_diff_between() as well as the sg_cpu_percents buffer
received from sg_get_cpu_percents_r() must be freed using
sg_free_cpu_stats() or the sg_free_cpu_percents(), respectively, when
not needed any more. The caller is responsible for doing it.
The value stored (the "ticks") will vary between operating systems. For
example Solaris has a total of 100 per second, while Linux has substan‐
tially more. Also, different operating systems store different informa‐
tion - you won't find nice cpu on Solaris for example.
Modern systems shall provide information about the clock tick resolu‐
tion by invoking sysconf(_SC_CLK_TCK).
RETURN VALUES
There are two structures returned by the CPU statistics functions.
typedef struct {
unsigned long long user;
unsigned long long kernel;
unsigned long long idle;
unsigned long long iowait;
unsigned long long swap;
unsigned long long nice;
unsigned long long total;
unsigned long long context_switches;
unsigned long long voluntary_context_switches;
unsigned long long involuntary_context_switches;
unsigned long long syscalls;
unsigned long long interrupts;
unsigned long long soft_interrupts;
time_t systime;
} sg_cpu_stats;
typedef struct {
double user;
double kernel;
double idle;
double iowait;
double swap;
double nice;
time_t time_taken;
} sg_cpu_percents;
user kernel idle iowait swap nice total
The different CPU states.
context_switches voluntary_context_switches involuntary_context_switch‐
es syscalls interrupts soft_interrupts
The different program actions on CPU.
systime time_taken
The time taken in seconds since the last call of the function,
or the system time.
SEE ALSO
statgrab(3)
WEBSITE
⟨https://libstatgrab.org/⟩
libstatgrab 2019-03-08 sg_get_cpu_stats(3)