시간(Unix)
time (Unix)![]() 의 예 time 명령어 | |
개발자 | 다양한 오픈 소스 및 상용 개발자 |
---|---|
운영 체제 | Unix, Unix 라이크, Inferno |
플랫폼 | 크로스 플랫폼 |
유형 | 명령어 |
컴퓨팅에서는time
는 Unix 및 Unix 유사 운영체제시스템의 명령어입니다.특정 명령어 실행 기간을 결정하기 위해 사용됩니다.
개요
time(1)
는 스탠드아론 프로그램(GNU 시간 등) 또는 대부분의 경우 내장 셸(sh, bash, tcsh 또는 zsh 등)로 존재할 수 있습니다.
사용자 시간과 시스템 시간 비교
총 CPU 시간은 CPU가 프로그램에 대해 일부 작업을 수행하는 데 소요된 시간과 프로그램을 대신하여 커널에 대한 시스템 호출을 수행하는 데 소요된 시간의 합입니다.프로그램이 배열을 통해 루프될 때 사용자 CPU 시간이 누적됩니다.반대로 프로그램이 다음과 같은 시스템 호출을 실행할 때exec
또는fork
시스템 CPU 시간을 축적하고 있습니다.
실시간 vs CPU 시간
이 문맥에서 "실시간"이란 정지 시계를 사용하는 것과 같이 경과된 벽시계를 말합니다.총 CPU 시간(사용자 시간 + 시스템 시간)은 이 값보다 크거나 작을 수 있습니다.프로그램에서는 (사용자 모드든 시스템모드든) 전혀 실행하지 않고 대기하는 데 시간이 걸릴 수 있기 때문에 실시간은, CPU 의 합계 시간보다 리얼 타임이 큰 경우가 있습니다.프로그램에 의해 CPU 시간(사용자 및 시스템 모두)이 에 의해 보고되는 값에 추가되는 경우가 있기 때문에time
명령어. 단, 멀티코어 시스템에서는 이러한 작업이 병렬로 실행되므로 총 CPU 시간이 실시간보다 길어질 수 있습니다.
사용.
명령어를 사용하려면 명령어 앞에 단어만 붙이면 됩니다.time
예를 들어 다음과 같습니다.
$ time is
명령어가 완료되면time
를 실행하는 데 소요된 시간을 보고합니다.ls
사용자 CPU 시간, 시스템 CPU 시간 및 실시간에 대한 명령어입니다.출력 형식은 명령어 버전에 따라 다르며 다음 예시와 같이 추가 통계 정보를 제공하는 것도 있습니다.
$time host wikipedia.org wikipedia.org 에는 주소 103.102.1992.224가 있습니다.wikipedia.org 메일은 50 mx2001로 처리됩니다.wikimedia.org. wikipedia.org 메일은 10 mx1001로 처리됩니다.wikimedia.org 를 참조해 주세요.host wikipedia.org 0.04s 사용자 0.02s 시스템7 % cpu 0.780 합계 $
time(스탠드 아론 프로그램 또는 Bash 셸이 POSIX 모드로 실행 중이고 시간이 호출된 경우)time -p
)는 표준 에러 출력에 리포트합니다.
시간 -p
휴대용 스크립트에서는time -p
모드는 다른 출력 형식을 사용하지만 다양한 구현과 일관됩니다.
$ time - p sha256sum / bin / ls 12477gc0e25209768cbd79328f943a7ea8533e70256cea96fae034d1cc /bin/ls real 0.00 sys 0.00달러
실장
GNU 시간
GNU time의 현재 버전에서는 기본적으로 한 번 이상 보고됩니다.
$ /usr/bin/time sha256sum /bin/ls 12477deb0e25209768cbd798f943a7ea8533e70256cdea96fae0ae34d1cc /bin/ls 0.00user 0.00% CPU(0avtext+0gavdata05nput)
GNU 시간에 대한 출력 포맷은 다음을 사용하여 조정할 수 있습니다.TIME
실행 시간(예: 메모리 사용량) 이외의 정보를 포함할 수 있습니다.이 동작은 POSIX에 준거한 일반적인 시간 또는 다음 시간대에 사용할 수 없습니다.time -p
.
이 시간의 문서에는, 통상, 다음의 방법으로 액세스 할 수 있습니다.man 1 time
.
조작방법
GNU 구현의 소스 코드에 따라time
, 에 의해 표시되는 대부분의 정보time
에서 파생됩니다.wait3
시스템 콜을 실행합니다.이 없는 시스템wait3
상태 정보를 반환하는 콜,times
대신 시스템 콜이 사용됩니다.
배쉬
인기 있는 Unix 쉘 Bash에서는time
는 파이프라인(또는 단일 명령어) 앞에 배치할 수 있는 특별한 키워드입니다.단일(첫 번째) 명령어가 아닌 파이프라인 전체의 시간을 측정하고 다른 기본 형식을 사용하여 보고서 시간 앞에 빈 행을 입력합니다.
$ time seq 10000000 wc - l 10000000 real 0m0.078s 사용자 0m0.sys 0m0.029s $
보고되는 시간은 양쪽이 사용하는 시간입니다.seq
그리고.wc -l
합산했습니다.출력 형식은 다음을 사용하여 조정할 수 있습니다.TIMEFORMAT
변수.
시간은 기본 제공이 아니라 특별한 키워드이므로 함수나 명령어로 취급할 수 없습니다.파이프라인 리다이렉트도 무시합니다(실행된 경우에도 마찬가지).time -p
단, Bash 전체가 "POSIX 모드"로 실행되지 않는 한).
이 시간의 문서는 다음 방법으로 액세스 할 수 있습니다.man 1 bash
또는 를 사용하여 bash 자체 내에서help time
.
「 」를 참조해 주세요.

레퍼런스
- The Single UNIX Specification, The Open Group의 버전 4 : time a simple 명령어– Shell and Utilities Reference,
- Inferno 일반 명령 설명서 –
- Linux 사용자 매뉴얼– 사용자 명령어 : 간단한 명령어 시간 설정 또는 자원 사용–