下記記事のその後の動作報告です。
「Macbook pro 13インチ mid 2012をメモリ16GB・SSD240GBに換装してみた」ということで、動作はかなり軽快になりました。
パソコンの立ち上げも2~3秒ほどになりました。メモリも16GBあるので今まで起動に時間がかかっていたアプリ(GIMPなど)も早くなった気がします。
SSD換装とメモリ容量アップ後に問題発生
問題点も出てきました。
- バッテリーがなくなって自動的にスリープ状態になった後、充電してパソコンを起動すると「Sleep Wake failure in EFI」エラーが発生する
- 電源OFF -> ONでOSが立ち上がる時に必ず2回起動するように見える
PRAMリセットしているときみたいに音が2回なってから起動します。
症状発生の理由
原因はいまのところ特定できていません。中古で購入したときからなのか、換装したときからなのかも不明です。
換装前に起動確認したときは症状はなかった気がするのでSSD換装もしくはメモリアップグレードが原因ですかね?
ハードウェアテストと電源管理設定の確認
一応アップルのハードウェアテスト(電源スイッチ + D)を確認して見ましたが、問題は発見されませんでした。
ということはMacbook Proの電源管理設定が怪しいのか?ということで、pmsetコマンドで現状の設定値を確認
sudo pmset -g
System-wide power settings: Currently in use: standbydelaylow 4200 standby 1 halfdim 1 sms 1 hibernatefile /var/vm/sleepimage disksleep 0 standbydelayhigh 4200 sleep 10 (sleep prevented by firefox, coreaudiod) autopoweroffdelay 259200 hibernatemode 3 autopoweroff 1 ttyskeepawake 1 displaysleep 2 highstandbythreshold 50 acwake 0 lidwake 1
各設定値の意味を調べてまとめて見ました。(man pmset で出てきた説明です。)
名称 | 設定値 | 詳細 |
---|---|---|
standbydelaylow | 4200(秒) = 70分 | ハイバネートイメージをディスクに書き込んでスタンドバイのためメモリをパワーオフするまでの待機時間(秒) - バッテリ容量が |
standby | 1 | 指定された時間スリープした後にパソコンをハイバネートさせるかどうか |
halfdim | 1 | ディスプレイスリープの明るさを半分にするかどうか |
sms | 1 | Gフォースが急激に変化した時に、Sudden Motion Sensorをディスクヘッドを固定するために使うかどうか |
hibernatefile | /var/vm/sleepimage | ハイバネートイメージの格納場所 |
disksleep | 0 | ディスクがスリープするまでの時間(分) |
standbydelayhigh | 4200 | ハイバネートイメージをディスクに書き込んでスタンドバイのためメモリをパワーオフするまでの待機時間(秒) - バッテリ容量が |
sleep | 10 (sleep prevented by firefox coreaudiod) | システムがスリープまでの時間(分) |
autopoweroffdelay | 259200(秒) = 3日 | autopoweroffになるまでの待機時間 |
hibernatemode | 3 | ハイバネートモード。0:メモリの内容をストレージに保存しない 3:メモリの内容をストレージに保存しメモリから復帰させる (メモリの電源はON) 25:メモリの内容をストレージに保存しストレージから復帰(メモリの電源はOFF) |
autopoweroff | 1 | |
ttyskeepawake | 1 | tty(リモートログインセッションなど)がアクティブな場合スリープを防ぐかどうか |
displaysleep | 2 | ディスプレイがスリープするまでの時間(分) |
highstandbythreshold | 50 | スタンドバイ基準値。standbydelaylowとstandbydelayhighで利用される |
acwake | 0 | AC稼働/バッテリ稼働への変化時にパソコンを復帰するかどうか |
lidwake | 1 | ノートパソコンが開いた時に復帰するかどうか |
sleepとかstandbyとかhybernateとか色々な用語が出てきたので混乱してきましたね 笑
下記サイトでいい感じにまとめてくれています。
Standby puts your computer into energy-saving mode, where it uses very little power.
Hibernate saves your workspace (all your open windows), then turns the computer off.
Sleep is more complicated, because it means different things on different computers.
Mac OS, desktop. Sleep is the same as Standby. There is no built-in way to Hibernate.
Mac OS, laptop. Sleep initially means Standby, but if the battery level drops very low then the laptop automatically Hibernates. See below for more on this.
https://michaelbluejay.com/electricity/computers-sleep.html
どうやらハイバーネートとは作業内容をストレージに保存することのようですね。
スタンドバイもスリープも似たような意味合いで使われるようです。
何となく、sleep = hybernatemode:0、standby = hybernatemode:25、sleepとstandbyの中間? = hybernatemode:3みたいなイメージを持ちました。
もしかして、ハイバネートから復帰する時に発生するとかですかね?
エラー詳細
Sleep Wake failure in EFIのエラー内容を記載しておきます。
Sleep Wake failure in EFI
Failure code:: 0x01710875 0x0000001f
Please IGNORE the below stackshot
================================================================
Date/Time: 2022-07-05 19:21:39 +0900
OS Version: ??? ??? (Build ???)
Architecture: x86_64
Report Version: 29Data Source: Stackshots
Shared Cache: 0xacb4000 472810C8-6A82-3765-B2AF-6CA9F728C8EFEvent: Sleep Wake Failure
Duration: 0.00s
Steps: 1Time Awake Since Boot: 13s
Process: swd [280]
Architecture: x86_64
Footprint: 412 KB
Start time: 2022-07-05 19:21:39 +0900
End time: 2022-07-05 19:21:39 +0900
Num samples: 1 (1)Thread 0x7f9 1 sample (1) priority 4 (base 4)
<thread QoS background (requested background), thread darwinbg, process darwinbg, IO tier 2>
1 start + 1 (libdyld.dylib + 109769) [0x7fff71a0ecc9] 1
1 ??? [0x107fbc454] 1
1 ??? [0x107fbc1dd] 1
1 __stack_snapshot_with_config + 10 (libsystem_kernel.dylib + 135846) [0x7fff71b702a6] 1
1 ??? [0xffffff80002c2206] 1
1 ??? [0xffffff80009832f7] 1
1 ??? [0xffffff800089bd71] 1
1 ??? [0xffffff80002e59b7] (running) 1Binary Images:
0x7fff719f4000 - 0x7fff71a2afff libdyld.dylib (750.7)/usr/lib/system/libdyld.dylib
0x7fff71b4f000 - 0x7fff71b7bfff libsystem_kernel.dylib (6153.141.62) <6DBAE428-C233-326C-89C5-8C258E0AE963> /usr/lib/system/libsystem_kernel.dylib
Model: MacBookPro9,2, BootROM 429.0.0.0.0, 2 processors, Dual-Core Intel Core i5, 2.5 GHz, 16 GB, SMC 2.2f44
Graphics: kHW_IntelHD4000Item, Intel HD Graphics 4000, spdisplays_builtin
Memory Module: BANK 0/DIMM0, 8 GB, DDR3, 1600 MHz, 0x0000, 0x202020202020202020202020202020202020
Memory Module: BANK 1/DIMM0, 8 GB, DDR3, 1600 MHz, 0x0000, 0x202020202020202020202020202020202020
AirPort: spairport_wireless_card_type_airport_extreme (0x14E4, 0xF5), Broadcom BCM43xx 1.0 (7.21.190.33 AirPortDriverBrcm4360-1601.1)
Bluetooth: Version 7.0.6f8, 3 services, 25 devices, 1 incoming serial ports
Network Service: Wi-Fi, AirPort, en1
Serial ATA Device: SanDisk SSD PLUS 240GB, 240.06 GB
Serial ATA Device: MATSHITADVD-R UJ-8A8
USB Device: USB 3.0 Bus
USB Device: USB 2.0 Bus
USB Device: Hub
USB Device: FaceTime HD Camera (Built-in)
USB Device: USB 2.0 Bus
USB Device: Hub
USB Device: Hub
USB Device: Apple Internal Keyboard / Trackpad
USB Device: IR Receiver
USB Device: BRCM20702 Hub
USB Device: Bluetooth USB Host Controller
Thunderbolt Bus: MacBook Pro, Apple Inc., 25.1
解決方法を色々試す
- SMC、NVRAM、PRAMリセット
We'd suggest restarting your Mac: Log out, sleep, wake, restart, or shut down your Mac,
and resetting the SMC and NVRAM next: How to reset the SMC of your Macand Reset NVRAM or PRAM on your Mac.
引用: https://discussions.apple.com/thread/253030119
解決方法と思われる、SMC、NVRAM、PRAMリセットを試して見ましたが、効果はありませんでした。
- sudo pmset -a standby 0
To OP / anyone else that runs into this issue: Run the following command in terminal and you should be good to go.
sudo pmset -a standby 0
https://discussions.apple.com/thread/250469185
効果なし
- dockerの削除
In my case it was solved by removing Docker.
https://discussions.apple.com/thread/250866201
効果なし
まとめ
解決方法どれもダメでした。。。
SSDやメモリとの相性が悪いんですかね? HDDに戻してみるとか他のSSDに替えて見るとか時間があるときに試して見ます。。
ということで古いMacを購入してSSD換装やメモリをアップグレードをしようとしている方は念のためご注意ください。
バッテリー残量が0%になって電源が落ちた時のみに発生している状況なので、バッテリ残高があってsleepなどする分には全く問題ありません。
作業状態も保存されているようなので、エラーになったとしても業務上書いていた記事が消えるといったこともないです。
ただ毎回エラーが発生するのが気になります 笑
参考
・https://eclecticlight.co/2017/01/20/power-management-in-detail-using-pmset/