perfstat_process 子例程
用途
检索进程利用率度量值。
库
perfstat 库libperfstat.a
语法
#include <libperfstat.h> int perfstat_process (name, userbuff, sizeof_userbuff, desired_elements)
perfstat_id_t * name;
perfstat_process_t * userbuff;
int sizeof_userbuff ;
int desired_number ;
perfstat_id_t * name;
perfstat_process_t * userbuff;
int sizeof_userbuff ;
int desired_number ;
描述
perfstat_process子程序是每个进程利用率指标的接口。 perfstat_process子程序检索一个或多个进程统计数据,以填充perfstat_process_t数据结构。 如果将thename和userbuff参数设置为 NULL,且desired_elements参数设置为 0,则perfstat_process子程序将返回活动进程数,不包括等待进程。 如果name和userbuff参数设置为 NULL,且sizeof_userbuff参数设置为 0,那么将返回当前版本perfstat_process_t数据结构的大小。
注: 为提高性能,缺省情况下禁用进程作用域磁盘统计信息收集。 要允许收集此数据,请输入以下命令:
schedo -p -o proc_disk_stats=1参数
| 项 | 描述 |
|---|---|
| 名称 | 确定是必须针对所有进程还是特定进程捕获统计信息。 要获取所有进程的统计数据,必须将name参数设置为 NULL。 对于特定进程,必须提及进程标识。 注: 必须将进程标识作为字符串传递。 例如,要检索进程标识为 5478 的进程的统计信息,必须将 name 参数设置为 5478。
|
| 用户缓冲区 | 指向要填充一个或多个perfstat_process_t数据结构的内存区域。 |
| 大小用户缓冲区 | 指定perfstat_process_t数据结构的大小。 注意:要获取最新版本perfstat_process_t数据结构的大小,请将sizeof_userbuff参数设置为 0,并将name和userbuff参数设置为 NULL。
|
| desired_elements | 指定要复制到userbuff参数的perfstat_process_t数据结构的数量。 |
返回值
除非使用perfstat_process子程序来获取可用结构数,否则成功完成后将返回已填充的结构数。 如果不成功,则返回值为-1并设置errno全局变量。
错误代码
如果以下错误代码为真,则perfstat_process子例程不成功:
| 项 | 描述 |
|---|---|
| EINVAL | 其中一个参数无效。 |
文件
libperfstat.h文件定义了标准宏、数据类型和子程序。