0

kernel: Clocksource tsc unstable

$ cat /etc/redhat-release
CentOS release 6.6 (Final)
$ arch
x86_64

上記仮想環境(Vagrant)のゲストOS上で
/var/log/messages に大量の

kernel: Clocksource tsc unstable (delta = XXXXXXXXX ns). Enable clocksource failover by adding clocksource_failover kernel parameter.

というログが出ていた。

仮想サーバーが 時刻同期のためにCPUのクロックカウンターをベースにしている故に発生するもののようです
最近のCPUはターボブーストやらスピードステップやらとクロック変動させるため
unstabe = 不安定だよ!って出ているみたいです

■決策:

以降のメッセージにあるとおり
Enable clocksource failover
をすればいいわけであり
代替のclocksource を用意すればいいってことですね

clocksource は 以下

# cat /sys/devices/system/clocksource/clocksource0/available_clocksource
acpi_pm

自分の環境ではデフォルトで acpi_pm を使うので
ゲストOS上の
/etc/grub.conf のカーネルパラメーターに clocksource_failover=acpi_pm を追加

kernel /vmlinuz-2.6.32-504.16.2.el6.x86_64 ro root=/dev/mapper/VolGroup-lv_root rd_NO_LUKS LANG=en_US.UTF-8 rd_NO_MD rd_LVM_LV=VolGroup/lv_swap SYSFONT=latarcyrheb-sun16 crashkernel=auto rd_LVM_LV=VolGroup/lv_root clocksource_failover=acpi_pm KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet

これで、
Clocksource tsc unstable のメッセージは収束します。

■+α

Linuxの動作するシステムで扱う時刻は下記2つがある。

・ハードウェアクロック

・システムクロック

種別 コマンド 内容
ハードウェアクロック hwclock コンピュータに内蔵された時刻。電源OFFの状態でも動作
システムクロック date Linuxカーネルが持つ時刻。システム起動時にハードウェアクロックの値が設定される。システムのイベントの時刻として使用される

hwclock オプション

lock

オプション 説明
-r (オプション無と同様) 既に同バージョンがインストール(以降、ins)されていれば、insしない
-s | –hctosys hardware clock to system clock ハードウェアクロックの時刻をシステムクロックに反映させる
-w | –systohc system clock to<\span> hardware c システムクロックの時刻をハードウェアクロックに反映させる

以上です。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です