如何管理執行 Linux 的 EC2 執行個體的時鐘來源?

1 分的閱讀內容
0

如何確定執行 Linux 的 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體使用的時鐘來源,以及如何變更時鐘來源?

簡短描述

透過使用 SSH 用戶端,您可以尋找目前的時鐘來源、列出可用的時鐘來源或變更時鐘來源。

**注意:**硬體虛擬機器 (HVM) 執行個體有許多時鐘來源,例如 Xen、時間戳記計數器 (TSC)、高精確度事件時間 (HPET) 或進階組態與電源介面規格 (ACPI)。對於在 AWS Xen Hypervisor 上啟動的 EC2 執行個體,最佳實務是使用 tsc 時鐘來源。其他 EC2 執行個體類型 (例如 C5 或 M5) 均使用 AWS Nitro Hypervisor。AWS Nitro Hypervisor 的建議時鐘來源為 kvm-clock

**注意:**AWS Graviton2 處理器使用 arch_sys_counter 作為時鐘來源。

解決方法

尋找時鐘來源

在 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

相關資訊

為 Linux 執行個體設定時間

AWS 官方
AWS 官方已更新 2 年前