시간(Unix)

time (Unix)
시간을
Time-example-command.gif
의 예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.

「 」를 참조해 주세요.

레퍼런스