VTIMES(3)

명칭
vtimes - 리소스 이용에 대한 정보를 취득

서식
#include <sys/vtimes.h> vtimes(struct vtimes *par_vm, struct vtimes *ch_vm)

해설
이 인터페이스는, getrusage(2)에 의해 옮겨놓을 수 있었습니다. 이 함수는, 호환성 프로그램 라이브러리, libcompat 로부터 사용할 수 있습니다.

vtimes() 함수는, 현재의 프로세스 및 현재의 프로세스의 종료했다 child process의 어카운트 정보를 돌려줍니다. par_vm 또는 ch_vm 의 어느 쪽인지 한편, 또는 이것들 양쪽 모두는 0 에서도 상관하지 않습니다. 이 경우에는, 비제로인 포인터에 대한 정보만이 돌려주어집니다.

이 함수를 호출한 후는, 각 버퍼에는 인클루드 파일 /usr/include/sys/vtimes.h 의 내용에 의해 정의된 다음과 같은 정보가 들어갑니다.

    struct vtimes {
    	int	vm_utime;	/* user time (*HZ) */
    	int	vm_stime;	/* system time (*HZ) */
    	/* divide next two by utime+stime to get averages */
    	unsigned vm_idsrss;	/* integral of d+s rss */
    	unsigned vm_ixrss;	/* integral of text rss */
    	int	vm_maxrss;	/* maximum rss */
    	int	vm_majflt;	/* major page faults */
    	int	vm_minflt;	/* minor page faults */
    	int	vm_nswap;	/* number of swaps */
    	int	vm_inblk;	/* block reads */
    	int	vm_oublk;	/* block writes */
    };

vm_utime 및 vm_stime 의 필드는, 60 분의 1 초 (로컬의 교류의 주파수가 50 Hz 의 경우는 50 분의 1 초)의 단위로 각각 유저 시간과 시스템 시간을 나타냅니다. vm_idrss 및 vm_ixrss (은)는, 메모리의 사용도를 측정합니다. 각각, CPU 시간에 대한 사용 메모리페이지의 수를 적분 해 계산합니다. 이것들은, 클락이 1 회 새길 때에 현재의 메모리 사용(512 바이트 페이지의 단위로)을 가산해, 이산적으로 계산했는지와 같이 나타납니다. 있다 프로세스가 데이터 및 스택에 대해 1 cpu 초에 5 코어 페이지를 사용했을 경우는, vm_idsrss (은)는 5*60 의 값을 가져, 여기서 vm_utime+vm_stime (은)는 60 이 됩니다. 인수 Vm_idsrss (은)는 데이터와 스택의 세그먼트(segment) 사용도를 적산해, vm_ixrss (은)는 텍스트 세그먼트(segment)의 사용도를 적산합니다. Vm_maxrss 함수는, 텍스트+데이터+스택의 코어 주재의 페이지 카운트의 최대 순간 총화를 가리킵니다.

vm_majflt 필드는, 디스크 동작에 결합된 페이지 폴트의 수를 가리킵니다. vm_minflt 필드는, 참조 비트의 시뮬레이션으로 일으켜졌다 페이지 폴트의 수를 나타냅니다. vm_nswap (은)는, 일어난 스왑의 수입니다. 파일 시스템의 입력/출력 이벤트의 회수는, vm_inblk 및 vm_oublk 에 의해 나타납니다. 이러한 숫자는, 실제의 I/O 만을 셉니다. 캐싱 기구에 의해 공급된 데이터는, 그 데이터를 읽고 쓰기하는 최초의 프로세스 에 대해서만 계산됩니다.

참조
getrusage(2), wait3(2), time(3)

역사
vlimit() 함수는, 4.2BSD 에 나타났습니다.

버그
이 함수는, 아직도 재실장되고 있지 않습니다.