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_TOTAL 또는 UTIL_CPU로 언급하여 동일한 API를 사용하여 시스템 이용률 및 CPU당 이용률 값을 둘 다 확보할 수 있습니다. UTIL_CPU_TOTAL 및 UTIL_CPU 는 perfstat_rawdata_t 데이터 구조의 정의에서 참조할 수 있는 매크로입니다. name 및 userbuff 속성이 NULL로 설정되고 sizeof_userbuff 매개변수가 0으로 설정되면 perfstat_cpu_util_t 구조의 현재 버전 크기가 리턴됩니다. desired_elements 매개변수가 0으로 설정되면 cpustats 매개변수에서 현재 요소 수가 리턴됩니다.
매개변수
| 항목 | 설명 |
|---|---|
| cpustats | 현재 및 이전 값에서 이용률 관련 지표를 계산합니다. cpustats 매개변수의 유형은 perfstat_rawdata_t입니다. curstat 및 prevstat 속성은 perfstat_cpu_util_t 데이터 구조를 가리킵니다. 참고: 파티션 레벨 CPU 이용률을 계산하려면 cpustats 매개변수를 UTIL_CPU_TOTAL 로 설정하십시오. 개별 CPU 이용률의 경우 cpustats 매개변수를 UTIL_CPU로 설정하십시오. 계산할 이용률이 특정 CPU에만 적용되는 경우 개별 CPU의 ID를 cpustats 매개변수에 지정할 수도 있습니다.
|
| 사용자 버퍼 (userbuff) | 하나 이상의 perfstat_cpu_util_t 구조로 채워질 메모리 영역을 지정합니다. |
| 사용자 버퍼 크기 | perfstat_cpu_util_t 구조의 크기를 지정합니다. 참고: perfstat_cpu_util_t 구조의 최신 버전 크기를 얻으려면 sizeof_userbuff 매개변수를 0으로 설정하고 name 및 userbuff 매개변수를 NULL로 설정하십시오.
|
| desired_number | userbuff 매개변수에 복사할 perfstat_cpu_util_t 구조의 수를 지정합니다. |
리턴 값
perfstat_cpu_util 서브루틴을 사용하여 사용 가능한 구조 수를 검색하지 않으면 완료 시 채워진 구조 수가 리턴됩니다. 실패하면 -1 값이 반환되고 errno 전역 변수가 설정됩니다.
오류 코드
다음과 같은 경우 perfstat_cpu_util 서브루틴은 실패합니다.
| 항목 | 설명 |
|---|---|
| EINVAL | 매개변수 중 하나가 올바르지 않습니다. |
파일
libperfstat.h 파일은 표준 매크로, 데이터 유형 및 서브루틴을 정의합니다.