벽시계 시간, 사용자 시간 및 CPU 시간의 차이점은 무엇입니까


14

우리는 GridEngine으로 컴퓨팅 작업을 실행하고 있습니다. 모든 작업은 3 가지 다른 시간을 반환합니다.

  • 벽시계 시간
  • 사용자 시간
  • CPU 시간

이 세 가지의 차이점은 무엇입니까? 이 세 가지 중 두 응용 프로그램 / 스크립트의 성능을 비교하는 데 가장 적합한 것은 무엇입니까?

답변:


18

벽시계 시간은 작업을 수행하는 데 걸리는 실제 시간입니다. 이것은 스톱워치로 작업을 타이밍하는 것과 같으며 작업을 완료하기 위해 측정 된 시간은 시스템이 그 당시 수행중인 다른 작업의 영향을받을 수 있습니다.

사용 시간은 CPU가 실행 보낸 시간의 양을 측정 하여 코드를. 실행중인 다른 항목은 계산하지 않으며 커널에서 소비 한 CPU 시간 (예 : 파일 I / O)도 계산하지 않습니다.

CPU 시간은 CPU가 코드를 실행하는 데 소비 한 총 시간 또는 코드가 요청한 모든 시간을 측정합니다. 여기에는 커널 시간이 포함됩니다.

"사용자 시간"측정은 다른 작업의 성능을 측정하는 데 가장 적합 할 것입니다. 시스템에서 발생하는 다른 일의 영향이 가장 적기 때문입니다.


3

Wikipedia에서 :

'사용자 CPU 시간'이라는 용어는 처음에는 약간 오해의 소지가 있습니다. 총 시간 (실제 CPU 시간)을 명확하게하기 위해 CPU가 프로그램에 대해 일부 조치를 수행하는 데 소요되는 시간과 CPU가 프로그램을 대신하여 커널에 대한 시스템 호출을 수행하는 데 소요되는 시간의 조합입니다. 프로그램이 배열을 반복하면 사용자 CPU 시간이 누적됩니다. 반대로, 프로그램이 exec 또는 fork와 같은 시스템 호출을 실행하면 시스템 CPU 시간이 누적됩니다.

벽시계 시간은 컴퓨터가 작업을 완료하는 데 걸리는 실제 시간입니다. CPU 시간, I / O 시간 및 통신 채널 지연 (예 : 데이터가 여러 시스템에 분산 된 경우)의 세 가지 용어의 합계입니다. 프로세서가 특정 작업을 수행하고있는 시간 만 측정하는 CPU 시간과 달리 월 시간은 프로세스가 완료되는 총 시간을 측정합니다. 이 둘의 차이는 프로그래밍 된 지연으로 인해 지나가거나 리소스를 사용할 수있게되기를 기다리는 시간으로 구성됩니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.