perfstat_thread 子例程
用途
检索内核线程利用率度量。
库
Perfstat 库 (libperfstat.a)
语法
#include <libperfstat.h>
int perfstat_thread (name,userbuff,sizeof_userbuff,desired_number)
perfstat_id_t* name;
perfstat_thread_t* userbuff;
int sizeof_userbuff;
int desired_number; 描述
perfstat_thread 子例程用于检索进程或所有进程的每个内核线程利用率指标。 perfstat_thread 子例程检索一个或多个内核线程统计信息以填充 perfstat_thread_t 数据结构。
如果 name 和 userbuff 参数设置为 NULL ,并且 desired_number 参数设置为 0 ,那么 perfstat_thread 子例程将返回活动线程数。
如果 name 和 userbuff 参数设置为 NULL ,并且 sizeof_userbuff 参数设置为 0 ,那么将返回 perfstat_thread_t 数据结构的当前版本的大小。
参数
| 项 | 描述 |
|---|---|
| 名称 | 确定是必须针对所有进程捕获内核线程统计信息,还是针对特定进程捕获内核线程统计信息。 name 参数必须设置为 NULL 才能获取所有进程的内核线程统计信息。 要获取特定进程的内核线程统计信息,必须指定进程标识。 注: 标识的值必须作为字符串传递到 name 参数。 例如,要检索进程标识为 12345 的进程的统计信息,必须将 name 参数设置为 12345。
|
| 用户缓冲区 | 指向使用一个或多个 perfstat_thread_t 数据结构填充的内存区域。 |
| 大小用户缓冲区 | 指定 perfstat_thread_t 数据结构的大小。 注: 要获取最新版本的 perfstat_thread_t 数据结构的大小,请将 sizeof_userbuff 参数设置为 0 ,并将 name 和 userbuff 参数设置为 NULL。
|
| 期望数 (desired_number) | 指定要复制到 userbuff 参数的 perfstat_thread_t 数据结构的数目。 |
返回值
除非使用 perfstat_thread 子例程来检索可用结构数,否则成功完成时将返回填充的结构数。 如果不成功,则返回值为-1并设置errno全局变量。
错误代码
如果满足以下条件,那么子例程不成功:
| 项 | 描述 |
|---|---|
| EINVAL | 其中一个参数无效。 |
文件
libperfstat.h 文件定义标准宏,数据类型和子例程。