>1. 何故sleepがうまくいかないことがあるのでしょうか?

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

>○交換後
>  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も実時間が長くなってしまうと考えられます。

大場@町田市

メールによる返信