sg_get_cpu_stats(3) 맨 페이지 - 윈디하나의 솔라나라

개요

섹션
맨 페이지 이름
검색(S)

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)
맨 페이지 내용의 저작권은 맨 페이지 작성자에게 있습니다.
RSS ATOM XHTML 5 CSS3