English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Linux time 명령어의 용도는 특정 명령어 실행 시 소비되는 시간 및 시스템 자원 등의 정보를 측정하는 것입니다.
예를 들어 CPU 시간, 메모리, 입력/출력 등이 필요합니다. 특히 주의해야 할 것은 일부 정보가 Linux에서 표시되지 않는다는 점입니다. 이는 Linux에서 일부 자원 할당 함수가 time 명령어가 예정한 방식과 다르기 때문입니다. 이로 인해 time 명령어는 이러한 자료를 얻을 수 없습니다.
time [옵션] 명령어 [인수]
파라미터:
time 명령어는 네 가지 주요 자원을 표시할 수 있습니다. 이들은 다음과 같습니다:
상세한 내용은 다음과 같습니다:
1Time 자원
명령어 실행에 소비된 시간, 형식은 [시간]:분:초입니다. 이 숫자는 실제 CPU 시간을 나타내지 않습니다
명령어 실행에 소비된 시간, 단위는 초입니다. 이 숫자는 실제 CPU 시간을 나타내지 않습니다
명령어 실행 시 핵심 모드(kernel mode)에서 소비된 시간, 단위는 초입니다
명령어 실행 시 사용자 모드(user mode)에서 소비된 시간, 단위는 초입니다
CPU가 명령어 실행 시 사용하는 비율. 이 숫자는 핵심 모드와 사용자 모드의 CPU 시간을 총 시간으로 나눈 값입니다
2Memory 자원
프로그램이 사용하는 실제 메모리의 최대 값. 단위는 KB입니다
프로그램이 사용하는 실제 메모리의 평균 크기, 단위는 KB입니다
프로그램이 사용하는 메모리 총량(stack+data+text)의 평균 크기, 단위는 KB입니다
프로그램의 자유 데이터 영역(unshared data area)의 평균 크기, 단위는 KB입니다
프로그램의 자유 스택(unshared stack)의 평균 크기, 단위는 KB입니다
프로그램 간 공유 내용(shared text)의 평균 크기, 단위는 KB입니다
시스템 메모리 페이지 크기, 단위는 byte입니다. 동일한 시스템에서 이는 상수입니다
3IO 자원
이 프로그램의 주요 메모리 페이지 오류가 발생한 횟수. 주요 메모리 페이지 오류란 특정 메모리 페이지가 교환 캐시에 이동되었으며, 다른 프로그램에 할당되었을 때의 것입니다. 이 페이지의 내용은 교환 캐시에서 다시 읽어들여져야 합니다
이 프로그램의 부수 메모리 페이지 오류가 발생한 횟수. 부수 메모리 페이지 오류란 특정 메모리 페이지가 교환 캐시에 이동되었지만 아직 다른 프로그램에 할당되지 않았을 때의 것입니다. 이 페이지의 내용은 파괴되지 않았기 때문에 교환 캐시에서 읽어들일 필요가 없습니다
이 프로그램이 교환 캐시에 이동된 횟수
이 프로그램이 강제로 중단되는 횟수(CPU 시간이 소진된 것처럼)
이 프로그램이 자발적으로 중단되었습니다(아니면 어떤 I를 기다리고 있는 것처럼)/O 실행이 완료되면, 디스크 읽기와 같은 작업을 수행하는 횟수
I 이 프로그램이 입력한 파일의 수
O 이 프로그램이 출력한 파일의 수
r 이 프로그램이 받은 소켓 메시지
s 이 프로그램이 보낸 소켓 메시지
k 이 프로그램이 받은 신호(Signal)의 수
4、Command Info
C 실행 시의 파라미터 및 명령어 이름
x 명령어의 종료 코드(Exit Status)
-p 또는 --portability: 이 옵션은 자동으로 표시 형식을 설정합니다:
real %e user %Usys %S: 이렇게 하는 목적은 POSIX 표준과 호환되기 위함입니다.
-v 또는 --verbose: 이 옵션은 모든 프로그램에서 사용된 자원을 모두 나열합니다. 일반 영어 문장뿐만 아니라 설명도 포함됩니다. 형식 설정에 시간을 들이지 않고자 하는 사람이나 이 명령어를 처음 접하는 사람에게 매우 유용합니다.
1. # time date 2. Sun Mar 26 22:45:34 GMT-8 2006 3. 4. real 0m0.136s 5. user 0m0.010s 6. sys 0m0.070s 7. #
위 예제에서 "time date" 명령어를 실행합니다(제1행)。
시스템은 먼저 "date" 명령어를 실행합니다, 제2행은 "date" 명령어의 실행 결과입니다.
행은3-6행은 "date" 명령어를 실행한 시간 통계 결과입니다, 중에서4"real" 행은 실제 시간입니다, 제5"user" 행은 사용자 CPU 시간입니다, 제6"sys" 행은 시스템 CPU 시간입니다.
위 세 가지 시간의 표시 형식은 모두 MMmNN[.FFF]s입니다.
아래 명령어를 사용하여
time -v ps -aux
ps 명령어를 실행할 수 있습니다. -aux의 결과와 소비된 시스템 자원은 다음과 같은 자료에서 확인할 수 있습니다:
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.0 0.4 1096 472 ? S Apr19 0:04 init root 2 0.0 0.0 0 0 ? SW Apr19 0:00 [kflushd] root 3 0.0 0.0 0 0 ? SW Apr19 0:00 [kpiod] ...... root 24269 0.0 1.0 2692 996 pts/3 R 12:16 0:00 ps -aux 시간을 측정하는 명령어: "ps -aux" 사용자 시간(초): 0.05 시스템 시간(초): 0.06 CPU에 할당된 비율: 68% 지나간 시간 (시간:분:초 또는 분:초): 0:00.16 평균 공유 텍스트 크기 (kbytes): 0 평균 비공유 데이터 크기 (kbytes): 0 평균 스택 크기 (kbytes): 0 평균 총 크기 (kbytes): 0 최대 주소 부분 크기 (kbytes): 0 평균 주소 부분 크기 (kbytes): 0 메이저 (I 요구하는)/O) 페이지 실수: 238 미니 (프레임을 회수하는) 페이지 실수: 46 의도적 컨텍스트 전환: 0 비의도적 컨텍스트 전환: 0 스왑스: 0 파일 시스템 입력: 0 파일 시스템 출력: 0 보낸 소켓 메시지: 0 수신된 소켓 메시지: 0 전달된 신호: 0 페이지 크기 (바이트): 4096 종료 상태: 0