そういえば、CentOS6をHyper-Vの仮想環境にインストールしてみて気が付いたことがあります。
以前のバージョンのCentOS…というか他のLinuxディストリビューションでも起きていた大幅な時刻ずれが起きなくなっている気がするのです。
Linuxを仮想環境にインストールする場合、以前は何らかの時刻ずれ対策を施す必要がありました。そうでないと半端でない時刻ずれが発生し、サーバーとしては常用に堪えないと思ってしまうほどでした。
原因はLinuxカーネルの高頻度の(確かCentOS5などでは毎秒1,000回もの)割り込みに仮想環境では追従しきれないというもので、割り込みの頻度を減らすためブート時のカーネルパラメータにdivider=10
などと指定して対応していたものです。
CentOS6になり、特に対策をしなくとも時刻がずれなくなったのは良いことなのですが、理由がわからないとなんとなく気持ち悪いと思い調べたところ、本家であるRed Hat Enterprise Linux 6のドキュメントにそれらしい情報がありました。
効率の良い電源管理のために高頻度の割り込み自体がなくなったって感じでしょうか。何にしても理由がわかってスッキリ。そしてLinuxが仮想環境でもより扱いやすくなったのは有り難いことですね。
と思ったらティックレスモードを利用できるLinuxカーネル自体は結構前からリリースされていて、Fedoraなどでは7から既に採用済みだったようです。
なるほど!