K 개발자

프로세스 실행 시간 측정 본문

유닉스(Unix)/시스템 프로그래밍

프로세스 실행 시간 측정

ddingz 2021. 8. 17. 21:27

프로세스 실행 시간의 구성

프로세스 실행 시간 = 시스템 실행 시간 + 사용자 실행 시간

시스템 실행 시간은 프로세스에서 커널의 코드를 수행한 시간으로, 시스템 호출로 소비한 시간을 의미한다.
사용자 실행 시간은 사용자 모드에서 프로세스를 실행한 시간으로, 프로그램 내부의 함수나 반복문처럼 사용자가 작성한 코드를 실행하는 데 걸린 시간이다.


프로세스 실행 시간 측정

프로세스의 실행 시간을 측정하는 데는 times 함수를 사용한다.
times 함수를 사용하면 프로세스의 실행에 소요된 사용자 실행 시간과 시스템 실행 시간을 알 수 있다.
특히 모든 자식 프로세스의 실행 시간을 함께 알 수 있다.

tms 구조체

tms 구조체는 <sys/times.h> 파일에 다음과 같이 정의되어 있다.

struct tms {
    clock_t tms_utime;
    clock_t tms_stime;
    clock_t tms_cutime;
    clock_t tms_cstime;
};

실행 시간 측정 : times(2)

#include <sys/times.h>
#include <limits.h>

clock_t times(struct tms *buffer);
// buffer : 실행 시간을 저장할 tms 구조체의 주소

'유닉스(Unix) > 시스템 프로그래밍' 카테고리의 다른 글

프로세스 생성  (0) 2021.08.18
환경 변수의 활용  (0) 2021.08.18
프로세스 식별  (0) 2021.08.17
프로세스의 개념  (0) 2021.08.17
시간 관리 함수  (0) 2021.08.17
Comments