Linux を実行する EC2 インスタンスのクロックソースを管理する方法を教えてください。

最終更新日: 2020 年 8 月 13 日

Linux を実行する Amazon Elastic Compute Cloud (Amazon EC2) インスタンスで使用されるクロックソースを判断する方法と、それを変更する方法を教えてください。

簡単な説明

SSH クライアントを使用すると、現在のクロックソースの検索、使用可能なクロックソースのリスト、またはクロックソースの変更を行うことができます。

注意: ハードウェア仮想マシン (HVM) インスタンスには、Xen、タイムスタンプカウンター (TSC)、高精度イベント タイマー (HPET)、アドバンスドコンフィグレーション・アンド・パワーインターフェイス (ACPI) など、さまざまなクロックソースが用意されています。AWS Xen Hypervisor で起動される EC2 インスタンスの場合は、tsc クロックソースを使用するのがベストプラクティスです。C5 や M5 などのその他の EC2 インスタンスタイプでは、AWS Nitro Hypervisor を使用します。AWS Nitro Hypervisor の推奨クロックソースは kvm クロックです。

解決方法

クロックソースの検索方法

EC2 インスタンスで SSH クライアントを開き、次のコマンドを実行して現在利用可能なクロックソースを検索します。

現在のクロックソースを検索するには、current_clocksource コマンドを使用してファイルの内容を一覧表示します。

cat /sys/devices/system/clocksource/clocksource0/current_clocksource
xen

クロックソースを一覧表示するには、available_clocksource コマンドを使用します。

cat /sys/devices/system/clocksource/clocksource0/available_clocksource
xen tsc hpet acpi_pm

現在のクロックソースを別の値に設定する方法

1.    スーパーユーザー権限で bash を実行し、current_clocksource を上書きします。

sudo bash -c 'echo tsc > /sys/devices/system/clocksource/clocksource0/current_clocksource'

2.    dmesg コマンドを実行して、カーネルメッセージを表示します。

dmesg | less

上書きが成功すると、次のメッセージが表示されます。

clocksource: Switched to clocksource tsc

注意: システムを再起動すると、Linux カーネルがクロックソースをリセットします。

システムブートローダー中にクロックソースを設定する方法

1.    カーネルコマンドラインパラメータで clocksource を設定します。

たとえば、grub2 を使用し、クロックソースを「tsc」に設定する場合は、/etc/default/grub ファイルを編集し、GRUB_CMDLINE_LINUX オプションに clocksource=tsc tsc=reliable を追加します。

GRUB_CMDLINE_LINUX="console=tty0 crashkernel=auto console=ttyS0,115200 clocksource=tsc tsc=reliable"

2.    grub.cfg ファイルを生成します。

grub2-mkconfig -o /boot/grub2/grub.cfg

この記事はお役に立ちましたか?


請求に関するサポートまたは技術的なサポートが必要ですか?