睡眠障害に悩まされています。個人的な問題ではなく、Mac Proのせいです。
このコラムはまだ途中の作業です。何が起こっているのかまだ正確には分かりませんが、少しずつ理解に近づいてきています。
問題は、2009年モデルのMac Proで手動でスリープコマンドを選択すると、(必ずではないものの)スリープ状態になり、すぐに復帰してしまうことです。その後、もう一度スリープを選択すると、Macは正常にスリープ状態になり、そのままの状態を維持します。
この症状は、スリープを選択して、マシンが本当に休止状態になったかどうか確認する前にオフィスを出ると特に厄介です。しばらくしてオフィスに戻ると、Macはまだ完全に起動したままです。
なぜこのようなことが起こるのでしょうか?
考えられる原因を数多く調査し、そのほとんどを除外しました。例えば、BluetoothデバイスがMacを起動させたことが原因ではないことは確かです。最終的に、原因はおそらく相互作用している2つの要因に絞り込みました。
1つ目の要因は、Mac OS XのWake on Demand機能です。この機能は、AirPortベースステーションまたはTime Capsuleと組み合わせることで、ネットワーク上の他のデバイスがスリープ状態のデバイスを一時的に起動し、要求されたアクションを実行できるようにします。この機能を有効にするには、システム環境設定の「省エネルギー」パネルで「ネットワークアクセスによるスリープ解除」を選択します。私はMac Proでこれを設定しました。

Appleは、特定のネットワーク要求がなくても、「Wake on Demand」が有効になっているMacは、Bonjour Sleep Proxyへの登録を維持するために、画面を点灯させずに短時間スリープ状態に戻ることがあると述べています。その後、Macはスリープ状態に戻ります。この機能を「省エネルギー」で初めて有効にすると、このような状況が発生する可能性があることを警告するメッセージが表示されます。
Appleのディスカッションフォーラムの投稿によると、この「メンテナンス」によるスリープ解除は約2時間に1回発生するとのことです。Mac Proのコンソールログを確認したところ、確かにその通りでした。Macがスリープ状態になっている間、約2時間ごとに以下のようなメッセージが表示されます。
8/25/10 2:22 20 PM Aug 25	kernel	Wake reason = RTC 8/25/10 2:22 20 PM Aug 25	kernel	RTC: maintenance alarm 2010/8/25 21:22:19, sleep 2010/8/25 19:35:08 8/25/10 2:22 20 PM Aug 25	kernel	System Wake
RTCはリアルタイムクロックの略です。コンソールでは、定期的な「Wake on Demand」チェックを「メンテナンスアラーム」と呼んでいます。「Wake on Demand」を無効にすると、これらのメッセージは表示されなくなります。

しかし、この機能はMac Proをスリープ状態にした直後に起動させるべきではありません。実際、起動しません。少なくとも、自動的には起動しません。ここで2つ目の要素、つまり起動のスケジュール設定について考えてみましょう。システム環境設定の「省エネルギー」パネルに戻り、「スケジュール」ボタンをクリックすると、シートがポップアップ表示されます。ここから、Macを自動的に起動する時間をスケジュールできます。私はMac Proを毎日午前8時10分に起動するように設定しました。
Macのコンソールログでは、これらのスケジュールされたウェイクアップはRTCアラームメッセージに対応していますが、「メンテナンスアラーム」ではありません。以下に例を示します(15:10:00はGMT時間で、太平洋標準時では8:10:00です)。
8/27/10 8:10 01 AM Aug 27	kernel	Wake reason = RTC 8/27/10 8:10 01 AM Aug 27	kernel	RTC: alarm 2010/8/27 15:10:00, sleep 2010/8/27 14:49:48 8/27/10 8:10 01 AM Aug 27	kernel	System Wake
今のところ、すべて正常に動作しているようです。重要なコンソールメッセージは、Mac Proが突然、誤って再起動した後に表示されるものです。
8/26/10 9:38 03 AM Aug 26	kernel	Wake reason = RTC 8/26/10 9:38 03 AM Aug 26	kernel	RTC: alarm 2010/8/26 15:10:00, sleep 2010/8/26 16:38:02 8/26/10 9:38 03 AM Aug 26	kernel	System Wake
スケジュールされたウェイクアップメッセージとほとんど同じように見えますが、一つだけ違いがあります。15:10:00という時刻は、Mac Proを手動でスリープ状態にした16:38:02よりも早いです。もし私のMac Proが話せたら、「しまった。15:10にウェイクアップするはずだったのに、今は16:38なのに寝ちゃった。遅刻だ。すぐに起きた方がいい」と言うでしょう。そして、実際にその通りになりました。
これを実行すると、スケジュールが更新され、翌朝15:10に自動的に起動するように正しく設定されます。そのため、Macを2度目にスリープ状態にすると、スリープ状態が維持されます。
問題は、なぜこのような時刻の混乱が発生するのかということです。この点はまだよく分かっていません。起動予定の日時は、/Library/Preferences/SystemConfiguration にある com.apple.AutoWake.plist というファイルに保存されています。このファイルに何らかの問題があり、常に正しく更新されていない可能性があります。しかし、私のMac Proでこのファイルを確認したところ、正常に動作しているようです。また、いくつかの報告によると、このファイルを削除してMacに新しいファイルを作成させると改善される可能性があるとのことです。まだ試していません。
2日前に「Wake on Demand」機能を無効にしました。それ以来、「再ウェイク」エラーは発生していません。これは決定的な証拠ではありませんが、2つの要因が関連している可能性を示唆しています。一つの可能性として、Wake on Demandが有効で、かつ自動ウェイクアップがスケジュールされていると症状が発生するバグがある可能性があります。もしそうであれば、Wake on Demandを再度有効にし、スケジュールされたウェイクアップをオフにすれば、症状は同様に消えるはずです。まだ確認できていません。症状が散発的にしか発生しないため、作業が困難になっています。
引き続き調査します。詳細が分かりましたらお知らせします。
 
                                 
                                 
                                 
                                 
                                 
                                 
                                