ubuntu 환경에서 프로세스를 실행시킬 때 실행시간을 측정하는 방법을 소개하고자 한다.
time명령어를 사용하면 프로세스 실행이 끝난 후 real, user, sys 3가지 실행시간을 출력한다.
1. Ubuntu 프로세스 실행시간 측정
실행할 명령어 앞에 time을 붙여서 실행하면 실행시간을 측정할 수 있다.
time source script.sh
'''script running logs'''
'''script running logs'''
'''script running logs'''
...
real 2m51.954s
user 3m25.265s
sys 0m3.250s
2. time 명령어의 real, user, sys 구분
Real
- process가 시작되어 끝나는데 걸린 시간(elapsed time, wall clock time)
- process가 기다리는 시간까지 포함됨(ex. I/O가 실행되는 동안 기다리는 것도 포함)
- 실제 process가 얼마나 걸렸는지는 Real로 보면 됨. 다만 벤치마크 성능 측정용으로는 좋지 않음
User
- process가 kernel 밖에서 실행될 때 사용된 CPU의 전체 시간
- 2개의 core가 실행되었다면 각 core의 실행시간을 더해서 출력함. 때문에 대부분의 경우 Real보다 더 큰 값을 출력함
Sys
- process가 kernel 안에서 실행될 때 사용된 CPU의 전체 시간
[references]
- stackoverflow: what do 'real', 'user' and 'sys' mean in the output of time?
728x90
'개발' 카테고리의 다른 글
[Docker] Docker 개념, build, 자주 쓰는 명령어 (0) | 2021.03.10 |
---|---|
[git] 작업하면서 자주 쓰는 git 명령어 (0) | 2021.03.10 |
[ubuntu] 프로세스 백그라운드에서 실행 (0) | 2021.03.10 |
[ubuntu] 파일, 폴더 용량 확인 (0) | 2021.03.10 |
[Tensorflow] tfds를 활용한 custom dataset 생성 (0) | 2021.03.09 |