表題の件ですが、Windows10や11で使用したときにn時間以上スリープさせた場合、ACPI Wake Alarmによってレジュームすると予定時刻より遅れて復帰するということを知りました。
いやあ、全然知りませんでした。11年ぶりにPCを新調したらこんな落とし穴があったなんて。
先達はあらまほしき事なり、というわけで「アルチーナの魔法の島」さんの「Intel 300シリーズチップセット以降のスリープ解除遅延問題」を読ませていただきました。大変有用な情報をありがとうございます。
UFEIでレガシーなRTCを選べれば回避できるとのことですが、当方がWindows11で運用しているASUS PRIME B760M-AJ D4には項目がありませんでした。
そこで、まずはスリープからACPI Wake Alarmによって復帰というかレジュームというか起床したケースをPower-Troubleshooterが記録したイベントログから拾って表にしてみました。当方の環境では最低でも一日に一回必ず走るジョブがあるので、スリープ時間が一日以上のデータはないのが残念です。
遅延秒数とあるのは期待スリープ時間と実スリープ時間との差分で、「本来復帰すべきだった時刻よりもどの程度遅れたか」を計算した秒数です。確かに遅れまくってます。
9時間スリープさせると3.85分の遅刻で、18時間33分では8.46分遅刻する、と。
表だけだとよくわからんので、googleさんにグラフ化してもらいました。
グラフの右側の目盛りは左側の目盛りが合計の遅延秒数で、右側は1時間当たりの遅延秒数です。
先の先達のブログ様では3.5時間以上の場合にACPI Wake Alarmで起床するようになるという情報でしたが、当方でも4時間未満の起床は起床させたプロセスが正しく記録されていました。
一方、一時間おきに25秒程度づつ遅延するということでしたが、こうしてみると、私のケースでは一時間当たりの遅延秒数は、スリープ時間の合計時間によって放物線を描いていて少々異なるようです。
遅延秒数のほうはきれいに値が出ているので、xをスリープから復帰する時刻までの秒数、yを遅延秒数とすると、遅延時間を計算する式はだいたいy=0.008x-27.5くらいでよさそうです。
y切片がマイナスなのですか。長時間のスリープ時はホニャララするとかしないとかの省電力がらみなんでしょうか。でも遅刻はまずいんじゃないかなあ、と思うのは日本人だからでしょうか。
誰にも役に立たない情報ですが、まずは以上です。
ここまでお読みいただいてありがとうございました。
グラフはとても興味深く見させてもらいました。この問題解決してもらいたいですね。自分の"MSI PRO Z790-A WIFI DDR4"上のWindows11でも同様に遅延します。多分MSIマザーはASUSと違い3.5時間の壁もなく、即遅延するっぽいです。(マザーにはHW的にRTCがあるので、UEFIにLegacy RTCのような選択ができるとよかったのですが探してもありませんでした)
返信削除コメントをいただきありがとうございます。
削除このような場末にコメントを頂けるなんて思ってもいなかったので失礼いたしました・・・
MSIだとすぐに遅延してしまうとなると、ASUS製のマザーボードのグラフから割り出した計算式は参考にならないかもしれません(切片がマイナス値になるため)。
思いにもよらないところに落とし穴はあるものだとつくづく感心します。