【sleepimage】Mac OS Xのグレー画面からの復旧

一年前にMac Miniのメモリ増強をしてから約一年。
I/0が効かなくなり再起動してもグレー画面でアイコンも表示されないという状態になりました。

去年のメモリ増強の話

MacMini 2009Late メモリ交換

話の発端は一年前です。
Mac Mini 2009Lateモデルのデフォルトメモリは2GBと、iTunes,XCode,ブラウザの立ち上げだけでもクルクル状態でした。
ということで、サムスンのDDR3 SODIMM 1066(PC3-8500)4GB×2に交換です。

スクレーパーでアルミ筐体を外します。

無線アンテナが3つもあります。一番上にあるのがDVDドライブです。メモリ交換には関係ないですが個人的な興味でこれも外します。

HDDが見えます。160GBですが交換はしません。
最下層にやっとメモリスロットがあります。

交換して、さあ起動!と思ったら、画面上にフォルダに「?」が表示されてOSファイルが読み込まれません。
まさか、下手にいじってHDDが壊れた!?とあせりましたが、コネクタの接触不良でした。

無事、起動しました。

ここまでが去年の春の話。

I/Oが応答せずグレー画面になった。

メモリが足りなくなるまで基本的にシャットダウンはしません。
昨日、帰宅してマウスを動かしてもディスプレイが反応しません。仕方なく強制終了。

再起動時にグレー画面になっています。

Appleサポートページに従いセーフブートしてみます。再起動時に「Shift + Command + V」(他社キーボードではCommandはWindowsキー )

写真

効果なしです。

一年経ったとはいえメモリ交換したことが原因な気がするので、次にNVRAM/PRAMをリセットしてみます。
NVRAM/PRAMには特殊な設定が保存されているようです。

再起動時にキーボードで「command (⌘)」「option」「P」「R」(他社キーボードではOptionはaltキー )でリセットをかけます。

これも効果なしでした。

でも一年は問題なく稼働していることや長時間放置したのが原因な気がするので、ディスク容量あたりも怪しい気がします。

グレー画面はGUI操作がほとんどできないですがコンソールは生きてるのでいじってみます。

dfしたら空き容量がゼロでした。この辺に原因があるかもしれません。


$ df
/dev/disk0s2: Resource busy

iTunesが起動に失敗していることやその後のIO不具合はこのdisk0s2がbusy状態なのが関係してそうです。

グレー画面でも起動はできているのでHDDが物理的に壊れているわけではないようです。

システム関連ディレクトリの/privateを覗いてみます。

$ sudo du -h -x -d 1 /private

/private/varが12GB占有していることがわかりました。

$ sudo du -h -x -d 1 /private/var

正常起動に問題ない容量を空けたいので/private/var/log 3.4GBを消してみます。
これはおそらくシステムログのようです。

$ rm -rf /private/var/log

これでリブートしたら正常に起動しました!

Mac OS Xは言わずもがなBSD UNIXをベースに作られています。

起動中の出力が何となくわかったりとUNIX系の共通知識は様々なケースで役立ちますね。

ちなみに/private/var/vmにsleepimageというのがあります。気づいたらこれも4GB近く確保していました。
スリープ時にメモリの内容をストレージに保存する機能のようです。

再起動時にはswapfileがsleepimageにまとめられ、スリ−プ復帰時にはsleepimageがswapfileに変換されているのかもしれません。

またTime Machineのローカルスナップショット (/.MobileBackups)は基本的には消しても問題ないです。

$ ls -l
-rw------T  1 root  wheel  4294967296  9  8 09:20 sleepimage
$ sudo rm /private/var/vm/sleepimage