perfstat_node 서브루틴

용도

이러한 서브루틴은 원격 노드에 대한 서브시스템 유형의 성능 통계를 검색합니다. 하위 루틴 목록은 다음과 같습니다:

  • 성능 CPU 노드
  • perfstat_cpu_total_node
  • 성능 디스크 노드
  • perfstat_disk_total_node
  • perfstat_diskadapter_node
  • perfstat_diskpath_node
  • perfstat_fcstat_node
  • perfstat_logicalvolume_node
  • 성능 메모리 페이지 노드
  • Perfstat_memory_total_node
  • perfstat_netadapter_node
  • perfstat_netbuffer_node
  • perfstat_netinterface_node
  • perfstat_netinterface_total_node
  • perfstat_pagingspace_node
  • perfstat_partition_total_node
  • 성능 프로토콜 노드
  • 성능 테이프 노드
  • Perfstat_tape_total_node
  • perfstat_volumegroup_노드

라이브러리

퍼프스탯 라이브러리libperfstat.a

구문

#include <libperfstat.h>

int perfstat_cpu_node (name, userbuff, sizeof_userbuff, desired_number)

perfstat_id_node_t *name;
perfstat_cpu_t *userbuff;
int sizeof_userbuff;
int desired_number;

int perfstat_cpu_total_node (name, userbuff, sizeof_userbuff, desired_number)

perfstat_id_node_t *name;
perfstat_cpu_total_t *userbuff;
int sizeof_userbuff;
int desired_number;

int perfstat_disk_node (name, userbuff, sizeof_userbuff, desired_number)

perfstat_id_node_t *name;
perfstat_disk_t *userbuff;
int sizeof_userbuff;
int desired_number;

int perfstat_disk_total_node (name, userbuff, sizeof_userbuff, desired_number)

perfstat_id_node_t *name;
perfstat_disk_total_t *userbuff;
int sizeof_userbuff;
int desired_number;

int perfstat_diskadapter_node (name, userbuff, sizeof_userbuff, desired_number)

perfstat_id_node_t *name;
perfstat_diskadapter_t *userbuff;
int sizeof_userbuff;
int desired_number;

int perfstat_diskpath_node (name, userbuff, sizeof_userbuff, desired_number)

perfstat_id_node_t *name;
perfstat_diskpath_t *userbuff;
int sizeof_userbuff;
int desired_number;

int perfstat_fcstat_node (name, userbuff, sizeof_userbuff, desired_number)

perfstat_id_node_t *name;
perfstat_fcstat_t *userbuff;
int sizeof_userbuff;
int desired_number;

int perfstat_logicalvolume_node (name, userbuff, sizeof_userbuff, desired_number)

perfstat_id_node_t *name;
perfstat_logicalvolume_t *userbuff;
int sizeof_userbuff;
int desired_number;

int perfstat_memory_page_node (name, psize, userbuff, sizeof_userbuff, desired_number)

perfstat_id_node_t *name;
perfstat_psize_t *psize;
perfstat_memory_page_t *userbuff;
int sizeof_userbuff;
int desired_number;

int perfstat_memory_total_node (name, userbuff, sizeof_userbuff, desired_number)

perfstat_id_node_t *name;
perfstat_memory_total_t *userbuff;
int sizeof_userbuff;
int desired_number;

int perfstat_netadapter_node (name, userbuff, sizeof_userbuff, desired_number)

perfstat_id_node_t *name;
perfstat_netadapter_t *userbuff;
int sizeof_userbuff;
int desired_number;

int perfstat_netbuffer_node (name, userbuff, sizeof_userbuff, desired_number)

perfstat_id_node_t *name;
perfstat_netbuffer_t *userbuff;
int sizeof_userbuff;
int desired_number;

int perfstat_netinterface_node (name, userbuff, sizeof_userbuff, desired_number)

perfstat_id_node_t *name;
perfstat_netinterface_t *userbuff;
int sizeof_userbuff;
int desired_number;

int perfstat_netinterface_total_node (name, userbuff, sizeof_userbuff, desired_number)

perfstat_id_node_t *name;
perfstat_netinterface_total_t *userbuff;
int sizeof_userbuff;
int desired_number;

int perfstat_pagingspace_node (name, userbuff, sizeof_userbuff, desired_number)

perfstat_id_node_t *name;
perfstat_pagingspace_t *userbuff;
int sizeof_userbuff;
int desired_number;

int perfstat_partition_total_node (name, userbuff, sizeof_userbuff, desired_number)

perfstat_id_node_t *name;
perfstat_partition_total_t *userbuff;
int sizeof_userbuff;
int desired_number;

int perfstat_protocol_node (name, userbuff, sizeof_userbuff, desired_number)

perfstat_id_node_t *name;
perfstat_protocol_t *userbuff;
int sizeof_userbuff;
int desired_number;

int perfstat_tape_node (name, userbuff, sizeof_userbuff, desired_number)

perfstat_id_node_t *name;
perfstat_tape_t *userbuff;
int sizeof_userbuff;
int desired_number;

int perfstat_tape_total_node (name, userbuff, sizeof_userbuff, desired_number)

perfstat_id_node_t *name;
perfstat_tape_total_t *userbuff;
int sizeof_userbuff;
int desired_number;

int perfstat_volumegroup_node (name, userbuff, sizeof_userbuff, desired_number)

perfstat_id_node_t *name;
perfstat_volumegroup_t *userbuff;
int sizeof_userbuff;
int desired_number

설명

이러한 서브루틴은 원격 노드의 성능 통계를 해당 perfstat_subsystem_t 구조에 반환합니다.

이러한 모든 서브루틴은 노드 또는 클러스터 통계 수집이 퍼프스탯_config 함수를 호출하여 활성화된 후에만 호출됩니다:

perfstat_config (PERFSTAT_ENABLE | PERFSTAT_CLUSTER_STATS, NULL)

노드 또는 클러스터 통계 수집은 perfstat_config 함수를 호출하여 원격 노드 데이터를 수집한 후에 비활성화됩니다:

perfstat_config (PERFSTAT_DISABLE | PERFSTAT_CLUSTER_STATS, NULL)

클러스터의 특정 노드에서 통계를 가져오려면 name 매개변수에 노드 이름 값을 지정합니다. 사용자 버프 파라미터를 할당해야 합니다. 원하는 숫자 매개변수를 설정해야 합니다.

참고: 원격 노드와 perfstat API 호출이 실행되는 현재 노드는 동일한 클러스터에 속합니다.

퍼프스탯_fcstat_node 하위 루틴은 루트가 아닌 사용자에게는 작동하지 않습니다.

매개변수

항목 설명
name.u.nodename 노드 이름을 지정합니다.
name.spec 노드 지정자를 지정합니다.
name.name 통계가 수집되는 첫 번째 컴포넌트를 지정합니다. 예를 들어, hdisk0, hdisk1, cpu0및 cpu1입니다.
psize 통계가 수집되는 페이지 크기를 지정합니다.
userbuff 퍼프스탯_<서브시스템>_t 구조체로 채워질 메모리 영역을 가리킵니다.
sizeof_userbuff 퍼프스탯_<서브시스템>_t 구조의 크기를 지정합니다.
원하는_번호 리턴할 구조 수를 지정합니다.

리턴 값

서브루틴이 성공적으로 완료되면 사용 가능한 구조 수가 리턴됩니다. 그렇지 않으면 -1 값이 반환되고 errno 전역 변수가 오류를 나타내도록 설정됩니다.

오류 코드

다음 중 하나 이상에 해당하면 perfstat_node 서브루틴은 실패합니다:

항목 설명
EINVAL 매개 변수 중 하나가 유효하지 않습니다.
ENOENT Perfstat_config()를 사용하여 클러스터 통계 수집이 활성화되어 있지 않거나 클러스터 통계 수집이 현재 지원되지 않습니다.

파일

libperfstat.h 파일은 표준 매크로, 데이터 유형 및 하위 루틴을 정의합니다.