> 패키지 및 시스템 관리 > time

time: 명령어 실행 시간 및 자원 사용량 측정

time 명령어는 주어진 명령어가 실행되는 데 걸린 시간과 사용된 시스템 자원(CPU 시간, 메모리 등)을 측정하여 요약 보고서를 출력합니다. 프로그램의 성능 분석 및 최적화에 유용하게 사용됩니다.

개요

time 명령어는 특정 프로그램이나 스크립트의 실행 시간을 측정하고, 사용자 CPU 시간, 시스템 CPU 시간, 실제 경과 시간 등의 상세한 자원 사용량 통계를 제공합니다. 이를 통해 애플리케이션의 성능 병목 지점을 파악하는 데 도움을 줍니다.

주요 측정 지표

  • 실제 시간 (Real time): 명령어가 시작되어 종료될 때까지의 실제 경과 시간
  • 사용자 CPU 시간 (User CPU time): 사용자 모드에서 CPU가 명령어를 실행하는 데 사용된 시간
  • 시스템 CPU 시간 (System CPU time): 커널 모드에서 CPU가 명령어를 실행하는 데 사용된 시간

주요 옵션

time 명령어는 다양한 옵션을 통해 출력 형식을 제어하거나 추가 정보를 요청할 수 있습니다.

출력 형식 및 제어

생성된 명령어:

명령어를 조합해 보세요.

설명:

`time` 명령어를 실행합니다.

위 옵션들을 조합하여 AI와 함께 가상으로 명령어를 실행해 보세요.

사용 예시

기본 사용법

time ls

ls 명령어의 실행 시간을 측정합니다.

POSIX 형식으로 출력

time -p sleep 1

sleep 명령어의 실행 시간을 POSIX 호환 형식으로 출력합니다.

측정 결과를 파일에 저장

time -o time_output.txt -a ls -l

ls -l 명령어의 측정 결과를 time_output.txt 파일에 저장합니다. time의 출력은 표준 에러로 나오므로 2>를 사용합니다.

사용자 정의 형식으로 출력

time -f "Real: %e User: %U System: %S" sleep 1.5

실제 시간, 사용자 CPU 시간, 시스템 CPU 시간을 특정 형식으로 출력합니다.

팁 & 주의사항

time 명령어 사용 시 유의할 점과 추가 팁입니다.

셸 내장 time과 외부 time 명령어

bash나 zsh 같은 셸에는 자체 time 내장 명령어가 있습니다. 이는 보통 real, user, sys 세 가지 값만 출력하며, 외부 time 명령어(/usr/bin/time)보다 기능이 제한적입니다. 더 상세한 정보를 원한다면 외부 time 명령어를 명시적으로 호출해야 합니다.

외부 time 명령어 명시적 사용

\time sleep 1
/usr/bin/time sleep 1

셸 내장 time이 아닌 외부 time 명령어를 사용하려면 역슬래시(\time)를 붙이거나 전체 경로를 지정합니다.

측정 정확도

  • 매우 짧은 명령어(밀리초 단위)는 측정 오차가 클 수 있습니다.
  • 시스템의 현재 부하 상태에 따라 측정 결과가 달라질 수 있으므로, 정확한 측정을 위해서는 여러 번 반복하여 평균값을 확인하는 것이 좋습니다.

출력 리다이렉션

time 명령어의 출력은 표준 에러(stderr)로 나옵니다. 따라서 time의 측정 결과를 파일로 리다이렉션하려면 2> 또는 2>>를 사용해야 합니다. 예를 들어, `time ls 2> time_result.txt`는 ls의 출력은 화면에 표시하고 time의 결과만 파일에 저장합니다.


동일 카테고리 명령어