18.3. 使用するクロックソースの一時的な変更
クロックの既知の問題により、システムのメインアプリケーションに最適なクロックが使用されないことがあります。問題のあるすべてのクロックを除外した後、システムに残ったハードウェアクロックが、リアルタイムシステムの最低要件を満たせないことがあります。
重要なアプリケーションの要件は、システムごとに異なります。そのため、各アプリケーション、したがって各システムに適したクロックも異なります。一部のアプリケーションはクロックの分解能に依存し、信頼できるナノ秒の読み取りを提供するクロックの方が適しています。また、クロックを頻繁に読み取るアプリケーションは、読み取りコスト (読み取り要求と結果の間隔) の小さいクロックからメリットを得ることができます。
このような場合、カーネルによって選択されたクロックをオーバーライドすることができます。ただし、オーバーライドの副作用を理解し、指定されたハードウェアクロックの既知の欠点を引き起こさない環境を作成できることが前提となります。
カーネルは、利用可能な最適なクロックソースを自動的に選択します。選択したクロックソースのオーバーライドは、影響が明確に理解されない限り推奨されません。
前提条件
- システムの 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 を使用します。