Ubuntu 12.04.5 LTS에서 실행되는 명령줄 도구가 있습니다. 이 프로그램의 CPU 시간을 계산해야 합니다. /usr/bin/time 기능을 확인하고 있습니다.
주문하다: /usr/bin/time -v -a -o timelog.dat command args
동일한 하드웨어에서 동일한 명령을 두 번 실행했습니다. 2회 실행 결과는 다음과 같습니다.
첫 번째 실행:
User time (seconds): 4085.50
System time (seconds): 4.75
Percent of CPU this job got: 54%
Elapsed (wall clock) time (h:mm:ss or m:ss): 2:04:19
Maximum resident set size (kbytes): 5093280
Average resident set size (kbytes): 0
Major (requiring I/O) page faults: 0
Minor (reclaiming a frame) page faults: 384474
Voluntary context switches: 436
Involuntary context switches: 628160
Swaps: 0
File system inputs: 24
File system outputs: 102936
두 번째 실행:
User time (seconds): 2694.91
System time (seconds): 2.51
Percent of CPU this job got: 99%
Elapsed (wall clock) time (h:mm:ss or m:ss): 45:18.91
Maximum resident set size (kbytes): 5093280
Average resident set size (kbytes): 0
Major (requiring I/O) page faults: 0
Minor (reclaiming a frame) page faults: 384483
Voluntary context switches: 223
Involuntary context switches: 4321
Swaps: 0
File system inputs: 9288
File system outputs: 100136
서버 CPU 사양:Clock speed: 2.4 GHz, Turbo Speed: 2.7 GHz, 8 physical cores, 16 threads
그래서 처음 실행했을 때 서버는 전체 로드 상태였고 16개 이상의 프로세스가 있었습니다. 두 번째 실행에는 7개의 프로세스가 있습니다. 내가 얻는 타이밍 정보를 어떻게 결정합니까? CPU 사용량이 모두 99%일 때 이 2개의 실행을 비교할 수 있습니까? 프로세스에 걸리는 정확한 시간을 측정하는 다른 방법이 있습니까? /usr/bin/time
함수가 CPU 시간을 계산해야 하는데 왜 완전히 다른 결과가 나오는 걸까요 ?
어떤 도움이라도 대단히 감사하겠습니다.
미리 감사드립니다, Serhat