9.4. 临时更改要使用的时钟源
有时因为时钟中已知问题,不使用系统主应用程序的最佳时钟。处理所有有问题的时钟后,系统就可以使用无法满足实时系统最低要求的硬件时钟。
对关键应用程序的要求因各系统而异。因此,每个应用程序的最佳时钟也会不同。有些应用程序依赖于时钟分辨率,提供可靠纳秒读的时钟更合适。最多读取时钟的应用程序往往可以从具有较小读成本的时钟中受益(读取请求和结果之间的时间)。
在这些情况下,可以覆盖内核所选时钟,只要您了解这个覆盖的副作用,并可创建一个环境,不会触发给定硬件时钟已知短语。
重要
内核自动选择最佳的时钟源。不建议覆盖所选时钟源,除非很理解了影响。
先决条件
- 系统上的 root 权限。
流程
查看可用的时钟源。
# cat /sys/devices/system/clocksource/clocksource0/available_clocksource tsc hpet acpi_pm
在这个示例中,系统中的可用时钟源为 TSC、HPET 和 ACPI_PM。
将您要使用的时钟源名称写入
/sys/devices/system/clocksource/clocksource0/current_clocksource
文件。# echo hpet > /sys/devices/system/clocksource/clocksource0/current_clocksource
注意这个过程更改了当前正在使用的时钟源。系统重启时,会使用默认时钟。要使更改具有持久性,请参阅 进行持久性内核性能优化参数更改。
验证步骤
显示
current_clocksource
文件,以确保当前时钟源是指定的时钟源。# cat /sys/devices/system/clocksource/clocksource0/current_clocksource hpet
在这个示例中,系统中的当前时钟源是 HPET。