티스토리 뷰

development

unix time command: real, user, sys

fistful 2019. 2. 11. 13:48
반응형

개요

 

프로그램 실행시간을 알아보는 unix 명령어인 time 대해 알아보자

링크: https://www.wikiwand.com/en/Time_(Unix)#/Real_time_vs_CPU_time

링크: https://engineering.purdue.edu/ECN/Support/KB/Docs/UserTimeVsSystemTime

 

정리1

 

리눅스에는 user mode kernel mode 있다.

user mode 사용자가 맘대로 있지만, kernel mode system call 로면 접근할 있다.

 

user time: user mode 에서의 소요시간

system time: kernel mode 에서의 소요시간

 

정리2

 

그런데 실제 소요시간인 real time = user + system 아니다.

왜냐하면 OS 해당 프로그램만 돌리는게 아니고 다른 작업도 하기에 기다리는 시간이 소요되기 때문이다.

 

따라서 real >= user + system time 이다.

 

 

정리3

 

! 그런데 real time < user time 경우가 있다.

이것은 멀티코어, 혹은 멀티쓰레드에서는 user time system time * 쓰레드 개수 해서 출력해주기 때문이다.

따라서, 헷갈리지 말고 real time 보면 된다.

 

 

 

 

 

 


반응형
댓글
댓글쓰기 폼