アフィリエイト広告を利用しています

mac快適化の最新記事

macが自動sleepしない?原因を特定する方法がわかります

無操作時間が30分続いたら、ディスプレイをオフ、macOSもスリープさせる設定で使っています、1時間以上たってもディスプレイがずっとオンの状態になることがあります。自動sleepが働かない要因はなに?勝手に遠隔操作とかされちゃっているの?と不安になったりします。ここではmacが自動sleepしない時に原因を特定するために必要な知識や方法がわかります。

macOSはディスプレイをOFFにする時間を設定できます。通常ディスプレイOFFと連動してスリープします。設定で連動させないこともできます。設定はシステム環境設定の省エネルギーでできます。バッテリー駆動時と電源アダプター駆動時別々に指定できます。

【省エネルギーはmacOS Big Sur以降「バッテリー」へと名称が変更になりました】
  • システム環境設定→バッテリー→バッテリー又は電源アダプタで確認できます
  • スリープさせない設定は電源アダプタの設定に存在します。
自動でスリープさせたくない場合は、ディスプレイをオフにするまでの時間を「しない」に設定するか、電源アダプター接続時限定オプションで「ディスプレイがオフのときにコンピュータを自動でスリープさせない」をチェックします。

もし、これらの設定をしている方は、当然自動スリープしません。自動スリープしない方は、まずは省エネルギー設定を見直してみてください。設定を変更することであっさりスリープしてくれるかと思います。

当記事は、MacBook Pro Retina Mid2015、macOS Sierra 10.12.6でチェックした内容です。

macが自動sleepしない時に原因を特定する方法


macOSは、スリープする前に起動中の各アプリにスリープしていい状況かを問い合わせる仕組みになっています。ここでスリープできないタイミングですと回答したアプリがあるとmacOSは自動スリープを延期します。

このアプリを探して、終了させると自動スリープしてくれるようになります。

アクティビティモニタでスリープしないアプリを探すことができます。

自動sleepしない原因のアプリをアクティビティモニタで探す


初期状態のアクティビティモニタでは、スリープしないアプリを探すことができません。非スリープ列を追加することで見つけることができるようになります。
macOSのアクティビティモニタ(CPU)、初期状態では非スリープ列がない。これから追加していきます。

アクティビティモニタの表示メニュー「表示項目」から「非スリープ」を選択します。
アクティビティモニタの表示メニュー 表示項目 の中に 非スリープがあります。この非スリープをチェックした状態にしてください

このようにアクティビティモニタに非スリープ列が追加されます。「非スリープ」列の「いいえ」はスリープを拒絶していないアプリです。「非スリープ」列の「はい」はスリープを拒絶している原因の可能性が高いアプリです。
activitymonitor-find-cannot-sleep-app-03.jpg



ここで1つ注意点があります。ご覧のようにこのアクティビティモニタの非スリープがはいとなっているのは、以下4つのアプリでした。
  1. hidd
  2. Amazon Music
  3. Amazon Music Renderer
  4. QuickTime Player


この中で、hiddはアップル純正のシステムサービスの一つだと思われます。注意点というのは、hiddを終了させないでください。「非スリープがはい」のアプリ全てが悪い訳ではありません。通常アップル純正のシステムサービスは自動スリープを阻害することはほとんどないと感じています。
アクティビティモニタから「強制終了」させることは避けた方が良いと思います。通常の終了操作をお勧めします。

今回見つけた3つのアプリAmazon Music、Amazon Music Renderer、QuickTIme Playerを全て終了させることでmacが自動sleepするようになりました。


pmsetを使うとさらに深い要因がわかります


もう少し状況を知りたい場合は、pmsetコマンドを使います。
ターミナルを開いて、以下オプションをつけて実行してみてください。
pmset -g assertions


例えば、先の自動sleepしていない状況で確認するとこのようになります。
$ pmset -g assertions 
Assertion status system-wide:
BackgroundTask 0
ApplePushServiceTask 0
UserIsActive 1
PreventUserIdleDisplaySleep 1
PreventSystemSleep 0
ExternalMedia 1
PreventUserIdleSystemSleep 1
NetworkClientActive 0
Listed by owning process:
pid 209(coreaudiod): [0x0004f3ec000181fb] 03:01:06 PreventUserIdleSystemSleep named: "com.apple.audio.AppleHDAEngineOutput:1B,0,1,1:0.context.preventuseridlesleep"
Created for PID: 781.
pid 209(coreaudiod): [0x0004f3ec000181c8] 03:01:06 PreventUserIdleSystemSleep named: "com.apple.audio.AppleHDAEngineOutput:1B,0,1,1:0.context.preventuseridlesleep"
Created for PID: 451.
pid 65(powerd): [0x0000000400088013] 165:48:34 ExternalMedia named: "com.apple.powermanagement.externalmediamounted"
pid 13582(QuickTime Player): [0x000243f40005a6ed] 124:34:16 NoDisplaySleepAssertion named: "com.apple.QuickTimePlayerX - disable display sleep"
pid 118(hidd): [0x0005176200098915] 00:29:48 UserIsActive named: "com.apple.iohideventsystem.queue.tickle.4294968145.11"
Timeout will fire in 1796 secs Action=TimeoutActionRelease
Kernel Assertions: 0x104=USB,MAGICWAKE
id=502 level=255 0x4=USB mod=1970/01/01 9:00 description=com.apple.usb.externaldevice.14600000 owner=StoreJet Transcend
id=504 level=255 0x100=MAGICWAKE mod=2017/11/02 18:37 description=en0 owner=en0
Idle sleep preventers: IODisplayWrangler


Listed by owning processを詳しくチェックします。AmazonMusicのアプリに関係しそうなプロセス名が見当たりません。QuickTime Playerは NoDisplaySleepAssertionというAssertion status system-wideの状態で、disable display sleepになっていることがわかります。
  • pid 209(coreaudiod) PreventUserIdleSystemSleep
  • pid 209(coreaudiod) PreventUserIdleSystemSleep
  • pid 65(powerd) ExternalMedia
  • pid 13582(QuickTime Player) NoDisplaySleepAssertion
  • pid 118(hidd) UserIsActive


今回の直接的な原因は、QuickTimeにあったことがわかります。

Assertion status system-wideの意味を調べてみました。


pmsetコマンドで表示されたアサーションはアプリからmacOSに対する提案です。この提案に従うかどうかはmacOSの状態に依存することもあります。
低電力または熱緊急事態の場合、システムはアサーションにもかかわらずとにかくスリープする可能性があります。
https://developer.apple.com/documentation/iokit/iopmlib_h/iopmassertiontypes


pmsetコマンドで表示されたAssertion status system-wideはBackgroundTask、ApplePushServiceTask、 UserIsActive、 PreventUserIdleDisplaySleep、 PreventSystemSleep、 ExternalMedia、 PreventUserIdleSystemSleep、 NetworkClientActiveでした。これらの一部はIOPMLib.h(MacOSX SDKの IOKit.frameworkにあるヘッダー)に記されています。
https://developer.apple.com/documentation/iokit/iopmlib_h
  • BackgroundTask

    アプリが何らかの仕事を開始したことを示すフラグです。ユーザーが何か操作した結果ではないです。

  • ApplePushServiceTask

    Appleの情報で探すことができませんでした。名称からしてプッシュ通知が実行中という意味だと思われます。

  • UserIsActive

    何かアプリを使っている(操作して処理を実行最中)状態です。

  • PreventUserIdleDisplaySleep

    無操作時間が経過してもディスプレイのスリープを防ぐフラグ

  • PreventSystemSleep

    無操作時間が経過してもスリープしないフラグ

  • ExternalMedia

    外部メディア【USB/Thunderbolt】接続中(正式なドキュメント未発見)


  • NetworkClientActive

    (正式なドキュメント未発見)

  • これ以外にも表示されていないフラグがありそうです。
    • NSActivityUserInitiatedAllowingIdleSystemSleep

      UserIsActive の状態、でもシステムはいつでもスリープ可能な状況


    • NSActivityAutomaticTerminationDisabled

      自動終了を防ぐフラグ


    • NSActivitySuddenTerminationDisabled

      突然の終了を防ぐフラグ


    • NSActivityLatencyCritical

      高精度なタイマーとI/O精度が必要な状況




実際の原因となったステータスはNoDisplaySleepAssertionでした。この情報はhttps://developer.apple.com/documentation/iokit/iopmlib_h/iopmassertiontypesに記されていました。
  • PreventUserIdleSystemSleep:ユーザーアクティビティがないためにシステムが自動的にスリープするのを防ぎます
  • PreventUserIdleDisplaySleep:ディスプレイが自動的に暗くなるのを防ぎます
  • PreventSystemSleep:システムがスリープ状態になるのを防ぎ、システムを任意の時間DarkWakeに常駐させます
  • NoIdleSleepAssertion:システムはアイドルスリープになりません(ディスプレイがスリープする場合があります)
  • NoDisplaySleepAssertion:アイドル状態のディスプレイは、有効にするとスリープしないため、システムはアイドル状態になりません

pmsetで上記Assertionステータスが表示された場合、スリープしない、又はディスプレイが暗くならない原因の可能性があります。

まとめ


macがいつの間にか自動的にスリープしなくなると焦りますね。いつもは自発的に寝てくれる良い子のmacが、不良になってしまったかのようです(笑)。ここまでで、アクティビティモニタの非スリープ列の意味、使い方がわかったかと思います。非スリープ列でmacが自動sleepしない時に原因を特定することができます。非スリープ「はい」でも全てが阻害要因のアプリというわけではないことも書きました。pmsetコマンドを使えば直接的な原因のアプリを見つけるこことができます。


 

 

macが自動sleepしない?原因を特定する方法がわかります
サブコンテンツ

コメント

comments powered by Disqus

コメントシステムを利用したくない方はお問い合わせからお願いします。
2013.8.19 DISQUS(外部コメントサービス)の利用を開始しました。
Facebook, google, Twitter等のアカウントで投稿可能です。

Microsoft 365 プランの比較 icon

(Microsoft 365 Personal 2,500 円 キャッシュバック キャンペーン 実施中 2022/3/30まで)

  • 祝!初マック(mac book retina 13インチ)!retina美しいです^^マックに関係するTips、情報、はまったことの解決策等
  • Mac野郎なのか
  • プロフィール

このページの先頭へ

×

この広告は30日以上新しい記事の更新がないブログに表示されております。