본문 바로가기
카테고리 없음

Linux time command option 사용법과 예시

by lazyautoman 2023. 2. 22.

1. time command

다음은 Linux 시간 명령의 출력 예입니다.

 

real    0m0.005s
user    0m0.001s
sys     0m0.003s

 

time 명령은 Linux에서 명령 또는 스크립트의 실행 시간을 측정하는 데 사용됩니다. time 명령의 출력에는 세 가지 값이 표시됩니다.

 

real: 이 값은 명령을 실행하는 데 걸리는 실제 또는 실시간 시간을 나타냅니다. 여기에는 I/O 작업, 컨텍스트 전환 및 기타 시스템 오버헤드에 소요되는 시간이 포함됩니다.

user: 이 값은 명령이 사용자 모드에서 보낸 시간을 나타냅니다. 명령이 자체 코드를 실행하는 데 걸리는 시간을 포함합니다.

sys: 이 값은 명령이 커널 모드에서 보낸 시간을 나타냅니다. 명령이 시스템 호출 및 기타 커널 기능을 실행하는 데 걸리는 시간이 포함됩니다.

 

위의 예제 출력에서 ​​명령은 매우 빠르게 실행되어 실제 시간은 0.005초, 사용자 시간은 0.001초, 시스템 시간은 0.003초에 불과합니다. 이는 명령이 대부분 자체 코드를 실행하고(사용자 모드에서 0.001초) 시스템과의 상호 작용이 최소화됨(커널 모드에서 0.003초)을 의미합니다.

 

2. time command option

Linux의 time 명령에는 동작을 사용자 지정하는 데 사용할 수 있는 몇 가지 옵션이 있습니다. 다음은 각 옵션에 대한 설명이 포함된 출력 예입니다.

 

time -p sleep 1
real 1.00
user 0.00
sys 0.00

 

-p : 이 옵션은 기본 시간 형식 대신 일반 숫자를 사용하여 출력 형식을 보다 스크립트 친화적인 형식으로 변경합니다.
sleep 1 : 시간이 초과되는 명령입니다. 이 경우 종료하기 전에 1초 동안 일시 중지되는 sleep 명령의 타이밍을 맞추고 있습니다.

 

더 많은 옵션이 있는 또 다른 예제 출력은 다음과 같습니다.

 

time -v -o timing.log ls /usr/bin
        Command being timed: "ls /usr/bin"
        User time (seconds): 0.00
        System time (seconds): 0.00
        Percent of CPU this job got: 0%
        Elapsed (wall clock) time (h:mm:ss or m:ss): 0:00.00
        Average shared text size (kbytes): 0
        Average unshared data size (kbytes): 0
        Average stack size (kbytes): 0
        Average total size (kbytes): 0
        Maximum resident set size (kbytes): 14968
        Average resident set size (kbytes): 0
        Major (requiring I/O) page faults: 0
        Minor (reclaiming a frame) page faults: 912
        Voluntary context switches: 1
        Involuntary context switches: 1
        Swaps: 0
        File system inputs: 0
        File system outputs: 0
        Socket messages sent: 0
        Socket messages received: 0
        Signals delivered: 0
        Page size (bytes): 4096
        Exit status: 0

 

-v: 이 옵션은 시간이 지정된 명령에 대한 자세한 정보를 제공하는 자세한 정보 출력을 활성화합니다.
-o timing.log: 이 옵션은 출력을 화면에 표시하는 대신 timing.log라는 파일에 저장합니다.

ls /usr/bin: 시간이 초과되는 명령입니다. 이 경우 /usr/bin 디렉토리를 인수로 사용하여 ls 명령의 타이밍을 맞춥니다.

 

상세 출력은 CPU 사용량, 메모리 사용량 및 I/O 활동을 포함하여 명령 실행에 대한 많은 정보를 제공합니다. 이 정보는 스크립트 및 애플리케이션의 성능을 프로파일링하고 최적화하는 데 유용할 수 있습니다.

댓글