18.4. 하드웨어 클럭 소스 읽기 비용 비교
시스템의 클럭 속도를 비교할 수 있습니다. TSC에서 읽기는 프로세서에서 레지스터를 읽는 것과 관련이 있습니다. HPET 클록에서 읽기는 메모리 영역을 읽는 것입니다. TSC에서 읽는 것이 더 빠르기 때문에 초당 수만 개의 메시지를 타임스탬프할 때 상당한 성능 이점을 제공합니다.
사전 요구 사항
- 시스템에 대한 root 권한이 있습니다.
-
clock_timing프로그램이 시스템에 있어야 합니다. 자세한 내용은 clock_timing 프로그램을 참조하십시오.
프로세스
clock_timing프로그램이 저장되는 디렉터리로 변경합니다.# cd clock_test시스템에서 사용 가능한 클럭 소스를 확인합니다.
# cat /sys/devices/system/clocksource/clocksource0/available_clocksource tsc hpet acpi_pm이 예에서 시스템에서 사용 가능한 클럭 소스는
TSC,HPET및ACPI_PM입니다.현재 사용 중인 클럭 소스를 확인합니다.
# cat /sys/devices/system/clocksource/clocksource0/current_clocksource tsc이 예에서 시스템의 현재 클럭 소스는
TSC입니다../
clock_timing프로그램과 함께time유틸리티를 실행합니다. 출력에 클럭 소스를 10 만 번 읽는 데 필요한 기간이 표시됩니다.# time ./clock_timing real 0m0.601s user 0m0.592s sys 0m0.002s이 예제에서는 다음 매개변수를 보여줍니다.
-
real- 프로세스가 종료될 때까지 프로그램 호출에서 시작하는 총 시간입니다.real은 사용자와 커널 시간을 포함하며 일반적으로 후자 2의 합계보다 큽니다. 우선 순위가 높은 애플리케이션에 의해 또는 하드웨어 인터럽트(IRQ)와 같은 시스템 이벤트에 의해 이 프로세스가 중단되는 경우 대기 시간이실제상태에서도 계산됩니다. -
user- 사용자가 커널 개입이 필요하지 않은 작업을 수행하는 데 소비한 시간입니다. -
sys- 사용자 프로세스에 필요한 작업을 수행하는 동안 커널이 사용하는 시간입니다. 이러한 작업에는 파일 열기, 파일 읽기 및 I/O 포트, 메모리 할당, 스레드 생성 및 네트워크 관련 활동이 포함됩니다.
-
테스트할 다음 클럭 소스의 이름을
/sys/devices/system/clocksource/clocksource0/current_clocksource파일에 작성합니다.# echo hpet > /sys/devices/system/clocksource/clocksource0/current_clocksource이 예에서는 현재 클럭 소스가
HPET로 변경되었습니다.- 사용 가능한 모든 클럭 소스에 대해 4단계와 5단계를 반복합니다.
사용 가능한 모든 클럭 소스에 대해 4단계의 결과를 비교합니다.
작은 정보자세한 내용은 시스템의
time(1)매뉴얼 페이지를 참조하십시오.