[Subject Prev][Subject Next][Thread Prev][Thread Next][Subject Index][Thread Index]

[linux-users:107242] Re: VMware Server 上の Linux の時間の遅れ


長部です。
後に、リプライがたくさんついていて、どれに返信したらよい
か
わからないので、ここで返信します。

--- "S. Osabe" <sosabe2000@xxxxxxxxxxx> wrote:

> 長部です。
> 
> 
> 松田陽一さんのゲストOS
> Linuxはカーネル2.6で、デフォルト
> で
> HZが100 Hzに設定されて、コンパイルされたものであると
> 思っていいのでしょうか。
> 

http://webos-goodies.jp/archives/50179807.html
に次のようなことが書かれています。

> 原因

> いろいろググったりしたところ、最終的に VMware の
Knowledge 
> Base のページにたどり着きました。なにやら長々と書いて
あります
> が、時刻がずれる原因は以下のようなことらしいです。
>
>    * Linux OS では、タイマー割り込みをカウントすること
で
> 時刻を管理している。
>    * 2.4 カーネルまではタイマー割り込みの間隔は 100 Hz 
> だったが、2.6 カーネルから 1000 Hz にアップしている。
>    * さらに、SMP カーネルでは 1 秒に 1000×(CPU数+1)
回の
> タイマー割り込みが発生する。
>    * エミュレーションされた仮想マシンでは、こんな頻度
の割り
> 込みは処理できない。そのため、時刻が大幅に遅れる。
>    * 実際のハードウェアでもタイマー割り込みの取りこぼ
しは
> 発生するが、Linux 2.6 にはこれを補正するコードが含まれ
ている。
> 残念なことにこのコードはいくつかの場面において、まやか
しの補正
> を引き起こす。このため、時刻が実際よりも進んでしまうこ
とがある。
> この現象は仮想マシン上でより多く発生する。 
>
>
> というわけで、APM を有効にしていたときはタイマー割り込
みの取り
>
こぼしが頻繁に発生して時刻が大幅に遅れていたわけです。APM 
を
> 無効にした後は、最後の「不正な補正」が時々発生して、徐
々に時刻
> が進んでしまった、ということですね。
引用終わり

VMware Serverの仮想マシンで時計が大幅に狂うのは、カーネ
ル2.6
でHZが1000 Hzに定義されているからと理解しました。Fedora
Core
 6のカーネルのコンパイルのとき、
「Processor type and features」-「Timer frequency」
はデフォルトで1000 Hzが選択されており、HELPを見ると、
1000 Hzはデスクトップ向け、100 Hzはサーバー向けのもの
と記述されています。したがって。カーネルの再構築なしで
VMware-tools使用で時間が正確になっているケースはサーバー
向
けのディストリビューションを使っているケースで、HZが100 Hz
に
設定されているのだと推測しています。

なお、VMware の Knowledge Base のページは
http://kb.vmware.com/vmtnkb/search.do?cmd=displayKC&docType=kc&externalId=1420&sliceId=SAL_Public
です。

# Vine 3.2のカーネルはどうなっているかと思って、/boot
# をのぞいたが、.configがなかった。



--------------------------------------
Start Yahoo! Auction now! Check out the cool campaign
http://pr.mail.yahoo.co.jp/auction/

この情報があなたの探していたものかどうか選択してください。
yes/まさにこれだ!   no/違うなぁ   part/一部見つかった   try/これで試してみる

あなたが探していた情報はどのようなことか、ご自由に記入下さい。特に「まさにこれだ!」と言う場合は記入をお願いします。
例:「複数のマシンからCATV経由でipmasqueradeを利用してWebを参照したい場合の設定について」
Follow-Ups: References: