吉田さん、大場さんアドバイスありがとうございます

From: mits...@zebu.riken.go.jp
Subject: [FreeBSD-users-jp 91978] Re: sleep の時間 
Date: Wed, 07 Jan 2009 09:36:02 +0900

> > > > 1. 何故sleepがうまくいかないことがあるのでしょうか?
> > >  fwcontrol が動いている間、ものすごく忙しくなっていて、sleep の後の
> > > pkill がなかなか実行されない、というような状態なのかもしれません。
> > 
> > 最初のメールに書いたように
> >   Intel S875WP1-E + Pentium 4 (Prescott) 3.0GHz
> > のときは殆んど同じ使い方をしていて起きてなかったので、その可能性が低い
> > と思っています。
>  マザーと CPU が変わっているということは、chipset 等の主要な部分が変わって
> いるということなので、FreeBSD 側にその chipset 特有の bug などがあれば何が
> 起きても不思議ではない、と思います…。

なんとなくそれになっていないかなぁ、と期待(?)しています。
でも、そのfixの仕方を誰も知らないとなるとそれはそれでまた困るのですが。

> できるのであれば、6.4-RELEASE とか 7.1-RELEASE にしてしまう、というのを
> 試してみても良いかもしれません。

7R系はは試していないので、ちょっと恐いのですが、6.4Rなら対応可能なので、
2つ先の週末までにでもやってみたいと思います。

> > topやvmstatだとどの辺を注意してみればよいでしょうか?
>  CPU の忙しさ (user, system, interrupt, idle など)、memory 使用量、
> disk IO、どの process が CPU を使っているか、くらいでしょうか…。
> # ほとんど全部、ですね…。

CPUを使っているか…という意味ではloadが低いのでそれはないと思います。
busを占拠しているか、とかだとよくわかりませんが。

> あとは、/var/log/messages などの log に変な error とかが出てないか、など。

それはないです。

> > time shift視聴のために録画しているので、手動で録画中にtopやvmstatは辛
> > いので、適当な間隔でcronとかで実行していた結果をとっておいてそれを見た
> > いと思っています。
>  空いてる時間に手動で録画しながら、いろいろ確認してみた方が楽なんじゃないかな、
> とも思いますが、おまかせします。

必ず再現する時間がもうちょっとわかっていると嬉しいのですけど必ずしもそ
うじゃないのが嫌らしいのです。

さて、昨日(1/6)から実行していたsleep 10;date +%sの繰り返しですが、date
の間隔について
  10秒 … 7387回
  11秒 …  962回
  12秒 …    1回 15:43:21まで
  16秒 …    1回 15:44:30まで
  388秒 …   1回 15:56:45まで
という結果になりました。この12秒以上のところはmksnap_ffsが裏で走ってい
る時間なので、明らかに理由がわかります。ということで、残念ながら10秒で
は発現しませんでした。

もうしばらく様子は見てみますが。

> > ちょっといきなり適用するのは恐いので、時間がある時(次の週末?)に色々試
> > したいと思います。patchありがとうございます。
>  忘れてましたが、ご利用の環境は 6.3R でしたね。

はい。

> patch は 7.1-RELEASE 用なので、6.3R にはそのまま適用できないと思います…。
> 大した量ではないので、手で該当する部分を edit してみてください。

了解です。


From: saxmid <sax...@ceres.dti.ne.jp>
Subject: [FreeBSD-users-jp 91979] Re: sleep の時間 
Date: Wed, 07 Jan 2009 11:11:49 +0900

> >1. 何故sleepがうまくいかないことがあるのでしょうか?
> 
> ご利用のマザーに問題がある可能性が高いかもです。
> 以下の処方にて改善しなかった場合は、
> 別メーカー製品に変更することで改善できると思います。

うーむ。motherboardの交換となるとそれなりの時間を取られるのが悔しいけ
ど、仕方ないのかなぁ。

> >○交換後
> >  GA-G33-DS3R + Pentium Dual-Core E2180 2.0GHz
> 
> こちらのメーカーのIntel Pxxマザーには、省電力機能であるところの
> 「GIGABYTE Dynamic Energy Saver」
> という機能が、多分搭載されていると思います。

そういえば起動時にそんなメッセージが出ていたような気がします。

> この機能が働いている場合、BIOS上でOFFにすると改善するかもしれません。

ちょっと再起動できるタイミングを逃してしまったので、わかりませんが、可
能になり次第試したいと思います。

> 同メーカからは、この機能を搭載したシリーズとして
> Intel Pxxチップセットマザー系列
> 「GA-E[P|G][31|33|35|38]-DS*」が発売されていました。
> が、"E"がつかないシリーズでも、基板自体はほぼ同じものといわれており
> ある時点以降のBIOS更新にて、同機能が追加・Enableになっている場合があり、
> 私自身、GA-P35-DS4というマザーでBIOS更新後に機能追加・Enableに
> なって以降、Windows上の時計や録画時間関係が狂いまくる現象に遭い
> 悩まされた時期がありました。

確かにこれは疑わしいですね。

> ここからは憶測ですが、この機能が稼働すると、CPUの何かしらの
> 入力クロックを、動的変化または、入力電圧の変化を行い
> 同機能を実現している臭いがします。
> その為、CPU自身の起動時間経過カウンタ "TSC レジスタ" が
> 変になっているのでは?と考えています。
> まさかそんな安直なことにはなっていないとは思いたいのですが…
> 
> kernelがどのclockをソースにしているかはケースバイケースですが
> 入力クロックが遅くなれば、同カウンタの歩みは遅くなり
> 結果、sleepも実時間が長くなってしまうと考えられます。

なるほど。確かにありそうですね。
もちろん、そんなことは、あって欲しくありませんが。

青木和麻呂@国分寺市在住

メールによる返信