perfstat_partial_reset 子例程
用途
清空部分 libperfstat 配置信息高速缓存或重置磁盘的系统最小和最大计数器。
库
perfstat 库 (libperfstat.a)
语法
#include <libperfstat.h>
int perfstat_partial_reset (name, resetmask)
char * name;
u_longlong_t resetmask;描述
perfstat_cpu_total, perfstat_disk, perfstat_diskadapter, perfstat_netinterface和 perfstat_pagingspace 子例程返回从 ODM 数据库检索并由库自动高速缓存的配置信息。 LVM 库和 swapqry 子例程提供的其他度量也会进行高速缓存以实现性能目的。
perfstat_partial_reset 子例程会清空此信息高速缓存中的某些内容,每当机器配置的已标识部分发生更改时,都应该调用此子例程。
当 name 参数不为 NULL 且 resetmask 参数仅包含一个位时,可以使用 perfstat_partial_reset 子例程来重置特定组件 (例如 hdisk0 或 en1)。 它还可用于从高速缓存的信息中除去整个类别 (例如磁盘或磁盘路径)。
当 name 参数为 NULL 时, resetmask 参数可以包含位的组合,例如 FLUSH_DISK|RESET_DISK_MINMAX|FLUSH_CPUTOTAL。
有几个位掩码可用于 resetmask 参数。 函数的行为如下:
| resetmask 值 | name 为 NULL 时的操作 | name 不为 NULL 且设置了单个 resetmask 时的操作 |
|---|---|---|
| FLUSH_CPUTOTAL | 在 perfstat_cputotal_t 结构中清空 speed 和 description | 返回错误, errno 设置为 EINVAL。 |
| 刷新硬盘 | 在每个 perfstat_disk_t 结构中清空 描述, 适配器, 大小, 可用和 vgname 。 清空磁盘适配器列表。 在每个 perfstat_diskadapter_t 结构中清空 size, free和 description 。 | 在指定的 perfstat_disk_t 结构中清空 描述, 适配器, 大小, 可用和 vgname 。 在与后跟 _Path的磁盘名称匹配的每个 perfstat_diskpath_t 中清空 适配器 。 清空链接到此磁盘或磁盘本身的路径的每个 perfstat_diskadapter_t 的 大小, 可用和 描述 。 |
| 全部 RESET_DISK_ALL | 重置系统驻留在每个 perfstat_disk_t 结构中的所有字段。 | 返回错误,并且 errno 设置为 EINVAL。 |
| 重置磁盘最小值 | 在每个 perfstat_disk_t 结构中重置系统驻留的 min_rserv, max_rserv, min_wserv, max_wserv, wq_min_time 和 wq_max_time 。 | 返回错误,并且 errno 设置为 ENOTSUP。 |
| flush_diskadapter | 清空磁盘适配器列表。 在每个 perfstat_diskadapter_t 结构中清空 size, free和 description 。 在每个 perfstat_diskpath_t 结构中清空 适配器 。 清空每个 perfstat_disk_t 结构中的 描述 和 适配器 。 | 清空磁盘适配器列表。 在指定的 perfstat_diskadapter_t 结构中清空 size, free和 description 。 |
| 刷新硬盘路径 | 在每个 perfstat_diskpath_t 结构中清空 适配器 。 | 清空指定 perfstat_diskpath_t 结构中的 适配器 。 |
| 刷新页面空间 | 清空调页空间列表。 在每个 perfstat_pagingspace_t 结构中清空 自动, 类型, lpsize, 姆布大小, 主机名, 文件名和 弗尼亚梅 。 | 清空调页空间列表。 在指定的 perfstat_pagingspace_t 结构中清空 自动, 类型, lpsize, 姆布大小, 主机名, 文件名和 弗尼亚梅 。 |
| 刷新网络接口 | 清空每个 perfstat_netinterface_t 结构中的 描述 。 | 清空指定 perfstat_netinterface_t 结构中的 描述 。 |
此子例程在 工作负载分区 (WPAR) 中不受支持。 它不知道 WPAR。
参数
| 项 | 描述 |
|---|---|
| NAME | 包含标识应从 libperfstat 高速缓存重置度量的组件的名称。 如果此参数为 NULL ,那么与每个组件匹配。 |
| 重置掩码 | 如果 name 参数不为 NULL ,那么为组件的类别。 可用值在上表中列出。 如果 name 参数为 NULL ,那么 resetmask 参数可以是位的组合。 |
返回值
perfstat_partial_reset 子例程在成功完成时返回值 0 。 如果失败,那么将返回值 -1 ,并将 errno 全局变量设置为相应的代码。
错误代码
| 项 | 描述 |
|---|---|
| EINVAL | 其中一个参数无效。 |
文件
libperfstat.h 文件定义标准宏,数据类型和子例程。