perfstat_cpu_util 子例程

用途

计算中央处理单元利用率。

perfstat 库 (libperfstat.a)

语法

#include <libperfstat.h>
int perfstat_cpu_util (cpustats, userbuff, sizeof_userbuff, desired_number)
perfstat_rawdata_t * cpustats;
perfstat_cpu_util_t * userbuff;
int  sizeof_userbuff ;
int  desired_number ;

描述

perfstat_cpu_util 子例程计算传递到 perfstat_rawdata_t 数据结构的当前值和先前值的 CPU 利用率相关度量。 通过将 perfstat_rawdata_t 数据结构的类型字段称为 UTIL_CPU_TOTALUTIL_CPU,可以使用同一 API 获取系统利用率值和每个 CPU 利用率值。 UTIL_CPU_TOTALUTIL_CPU 是可在 perfstat_rawdata_t 数据结构的定义中引用的宏。 如果属性 nameuserbuff 设置为 NULL ,并且 sizeof_userbuff 参数设置为零,那么将返回当前版本的 perfstat_cpu_util_t 结构的大小。 如果 desired_elements 参数设置为零,那么将返回来自 cpustats 参数的当前元素数。

参数

描述
cpustats

根据当前值和先前值计算与利用率相关的度量。 cpustats 参数的类型为 perfstat_rawdata_tcurstatprevstat 属性指向 perfstat_cpu_util_t 数据结构。

注: 要计算分区级别 CPU 利用率,请将 cpustats 参数设置为 UTIL_CPU_TOTAL 。 对于单个 CPU 利用率,请将 cpustats 参数设置为 UTIL_CPU。 如果要计算的利用率仅适用于特定 CPU ,那么还可以在 cpustats 参数中指定单个 CPU 的标识。
用户缓冲区

指定要使用一个或多个 perfstat_cpu_util_t 结构填充的内存区域。

大小用户缓冲区

指定 perfstat_cpu_util_t 结构的大小。

注: 要获取最新版本的 perfstat_cpu_util_t 结构的大小,请将 sizeof_userbuff 参数设置为 0 ,并将 nameuserbuff 参数设置为 NULL。
期望数 (desired_number)

指定要复制到 userbuff 参数的 perfstat_cpu_util_t 结构的数目。

返回值

除非使用 perfstat_cpu_util 子例程来检索可用结构数,否则成功完成时将返回已填充的结构数。 如果不成功,则返回值为-1并设置errno全局变量。

错误代码

如果以下情况成立,那么 perfstat_cpu_util 子例程不成功:

描述
EINVAL 其中一个参数无效。

文件

libperfstat.h 文件定义标准宏,数据类型和子例程。