Out of Focus

写真、iPhone、お酒、サッカー、猫、ゲームとか。

MacBookのメモリを4GBに。

with 4 comments

2011/07/30: [追記11]を追加しました。
2011/07/22:
[追記10]を追加しました。

mb_about

先日購入したMacBook(late 2008)。購入時にRAMを4GBにする考えもあったのですが、Xcodeメインで使う分には2GBで十分だろうと思っていて、アップグレードなしに購入しました。実際、メモリは2GBで十分だったんですが、Safariを起動したり、Versions(subversionのGUIフロントエンド)、その他のメニューバー常駐アプリを同時に使っていると、どうしても最大メモリの75%ぐらいは消費してしまうので、これは遅かれ早かれ増設した方がいいなと思い、自分で簡単に増設できることから、サードパーティ製メモリを購入して4GBにしてしまいました。精密ドライバも買うハメになりましたが、あればあったで便利なので、それは良しとしましょう。

増設後は気分的に(笑)非常に快適で、常にメモリ使用率が50%以下なので、RAMディスクにキャッシュを充ててみようかなと思ったり、Spacesを2×2から3×3にして複数アプリを同時に起動したりと、使いやすさの上では増設した甲斐があったのですが、どうやら不具合も出てしまったようです。。。

その不具合とは、スリープから正常に復帰しない問題です。

インターネットで検索してみると様々な不具合が報告されていることに気付き、MacBook購入前に知ることができなかった自分が情けないなと思いつつも、ちょっと不具合多すぎ?っていう印象も拭えません。そして、自分と同じケースらしきものも発見できますが、100%同じかどうかは結局わかりませんでした。

というわけで、現在自分で検証中です。短時間での調査&結果から判断すると、自分のケースは直った感じがします。以下に症状の詳細、解決法を書いておきますので、同様のケースが出た場合の参考にしてください。あくまで参考ということでお願いします。また、たまたまこの不具合に気付く前に「Rember」を使ってメモリテストを行なっていました。問題なかったです。

mb_memory

不具合、「スリープから正常に復帰できない」ということになりますが、OSのバージョンは上のスクリーンショットからわかるように10.5.6、出荷時よりバージョンが上がっています。またスリープ解除時にパスワードを要求する設定にしています。この時電源ケーブルは接続しておらず、バッテリー使用ということになりますが、恐らく電源ケーブル接続時でも同じ症状が出たものと思われます。スリープは蓋を閉じることで開始し、開けることで解除となるわけですが、開けた後、スーパードライブの駆動音が一瞬します(これは正常動作です)。通常なら、ここでパスワード入力ウインドウが表示されるわけですが、表示されずに真っ暗なままです。マウスカーソルも表示されていません。スリープランプも消灯し、一見パスワード入力ウインドウが出ていないだけのような感じです。今思ったんですが、その時点でパスワードを入力したら解除できたのかもしれませんが、試していません(その後試す機会がありましたが、全く無意味でした。。。)。

トラックパッドを撫でようが、キーを叩こうが一向に解除される感じはしないし、時間を置いても無駄なようです。そこで、電源ボタン長押しによる、電源オフを試みました。しばらくするとドライブ駆動音がして、感覚的には電源オフになったような感じがします。そして再度電源投入ということで、電源オフ時から電源を入れるような感じで電源ボタンを押すと、またドライブ駆動音がして、画面は林檎マークの代わりに、下の方に「|||||||||||||||」のようなインジケータが現れ、徐々にそれが埋まっていきます。Maxまで進行すると、起動あるいは再起動ではなく、その時点でスリープ解除となりました(その時パスワードを要求されたかどうかは忘れましたが、確か無かったと思いますパスワードを要求されます)。スリープ前と同じ状態に戻っているようで、その後は正常に動作しています(これはハイバネーションスリープ(セーフスリープ)と呼ばれる状態らしい。[追記3]参照)。

増設したメモリは写真のパッケージに書かれている、CrucialのDDR3 PC3-8500 SODIMM 2GBx2ということで、MacBook(late 2008)に適合するメモリのはずです。ちなみに写真中のパッケージに収められている実際のメモリは、元々MacBookに装着されていたもの(Hynix 1GBx2)です。写真は交換作業が終了した後に(実際には不具合が出てから)撮影しました。

この不具合は、短いスリープ時間(10分未満)では全く発生しませんでしたが、15分以上のスリープから復帰すると確実に発生しました。

さて、解決法です。とはいえ、現時点ではあくまで確実に発生していたと思われるスリープ時間後の解除で数回しか試していないので、これが本当の解決になっているかどうかはわかりませんが、

PRAMをクリア(電源を落とし、option+command+P+Rを押しながら電源を入れ、起動音を2回聞いたら離す)する。

このPRAMクリア、自分の記憶が正しければ、ハードウェア構成を変えた時に必ずしておく、おまじないみたいなものだったんですが、何かしらMacに不具合が起きた時に、最初に試みる常套手段だったりもします。そして今回、このことをすっかり忘れていて、自分はメモリ増設後にPRAMクリアはしていませんでした。そしてクリア後、現在は正常に動いているようです。

そろそろ就寝時間なので、再度スリープさせ、今度は十分にスリープ時間が取れた後に検証です。長時間スリープはこれが2度目となりますが、きちんと復帰できれば、恐らく解決したと断定してよいのではないかと思っているところです。いずれにしろ、後日追記という形で報告したいと思います。

[追記]

駄目でした。最初に書いたものと全く同じ症状。記憶に間違いがあったところは訂正しておきました。どっちの状態がいいのかわかりませんが、しばらく長時間使わない時は電源を落とす方向で使用してみたいと思います。また何かアップデートがあれば報告したいと思います。

[追記2]

Appleのサイトで、SMCのリセットというものを見つけてやってみました。今回の不具合に対する処置ではないので少し不安ですが、検証してみたいと思います。このサイトではこのやり方を推奨する訳ではありません。自己責任でお願いします。

[追記3]

どうやら、MacBookがハイバネーションスリープ(セーフスリープ)に入っていたようです。メモリ交換後になぜ発生するようになったのかは謎ですが、不具合では無さそうなので、このまま使ってみようと思っています。ちなみにターミナルを開き、「pmset -g」というコマンドを打つと、省エネルギー系の設定を確認できます。

pmset2

「hibernatemode」がその設定です。デフォルトは3の「セーフスリープと通常のスリープの併用」となっていて、自分の設定もデフォルトということで、次のテーマは「なぜセーフスリープ状態になったか」になりますね。解決したら追記したいと思います。

[追記4]

ちょっと考えれば理解できるというかあくまで推測ですが、恐らくセーフスリープの意味上、交換したサードパーティ製メモリとの相性か何かで、MacBookの電源周りのシステムが「低バッテリー」を感知してセーフスリープに入っているのではないかということです。実際には電源コードを繋いでいても発生するし、今回のケースで低バッテリーには陥っていません。メモリには一応規格が存在すると思うので、ハードウェアの問題ではない(確信はないし、可能性は少し疑っている)と思いますが、そうであればAppleがファームウェアで対処してくれると直りそうな気がします。

[追記5]

試しにpmsetを使って、「sudo pmset -a hibernatemode 7」を実行してみたら、初回の長時間スリープからはセーフスリープで復帰しましたが、それ以降のスリープからは常に通常スリープから目覚めるようになりました。普段使っていて、やはり毎回セーフスリープに入ったり、ときにはスリープから復帰できないことがあったりすると常に電源オフにしなければならず、何かと不便でした。このまま安定して通常スリープで使えるといいのですが・・・。
ちなみにpmsetによるhibernatemode設定の意味は、こちらのサイトによると、

0 … セーフスリープの無効化
1 … セーフスリープ
3 … セーフスリープと通常スリープの併用(デフォルト)
以下はシステム設定の「セキュリティ」で、「安全な仮想メモリを使用」にチェックしている場合。
5 … セーフスリープ
7 … 通常スリープ(おそらくセーフスリープとの併用)

ということで、自分のMacBookは工場出荷状態で既に「安全な仮想メモリを使用」にチェックが入っていたと思うのです(自分ではいつ設定したか覚えていない)。なので、7がデフォルトあるべきかと思って設定してみたら、今のところ正常に動作している感じです。

[追記6]

やはり正常(?)には動作していないようです。「追記5」を書いた後、ずーっとその設定で使用していますが、55%の確率で通常スリープから復帰、40%の確率でセーフスリープから復帰、5%の確率で復帰失敗(電源が落ち通常(とは言い難いけど)起動)となっています。

[追記7(たぶん最後)]

セーフスリープとハイバネーションスリープの違いがわかったので、上記エントリーには誤解を含む誤りがあるように思いますが(すみません!)、最終的に以下の結論に至りました。せっかく購入したRAMを生かすのが目的なので、本来の使い方をしたい場合は素直に純正RAMを購入するのが良いと思われます。
で、結論。
「pmset -a hibernatemode 5」これが僕の環境では(とりあえず)正解のよう。
確実にハイバネーションスリープするので、復帰失敗することがなくなりました。当然、スリープに入るまでの時間、復帰するまでの時間が長くなり、RAMのサイズ分、ディスクスペースも消費しますが、動作が不安定になるよりはマシです。即スリープ、即復帰はもちろん魅力ですが、スリープ時のバッテリー消費などを考えますと、これはこれで問題ないなーと思い(心に言い聞かせて)ます(笑)。

[追記8]

新しいOS、Snow Leopardをインストール後、「スリープからの復帰が速くなった」という記事を見掛けたので、「ひょっとしたら直ってるかな?」と思い、デフォルトの「pmset -a hibernatemode 3」に戻してみました。そうしたら、現在のところ正常に動いている模様。システム設定の「セキュリティ」で、「安全な仮想メモリを使用」にチェックが入っているので、「pmset -a hibernatemode 7」が正解(たぶん)と思い、現在はこちらに変更していますが、こちらも回数は少ないですが、正常に動いている感じです。メモリ設定を全くいじっていないMac miniの方では「安全な仮想メモリを使用」にチェックが入っていなかったので、現在の設定が正しいと思っています。
また様子を見てレポートします。

[追記9]

駄目でした・・・。というわけで、「pmset -a hibernatemode 5」に戻します。
それにしてもこの仕打ちがAppleの意図的なものとしたら、かなりショックですね。

[追記10]

OS X Lionをインストールしたので、「pmset -a hibernatemode 7」を試していますが、今のところ問題無いです。またぬか喜びになる可能性もありますが、問題発生したらまた報告します(笑)。

[追記11]

OS X Lionをインストール後、一週間以上過ぎました。この問題に関しては、全く不具合が出ていません。
単なるバグだったのか、意図的なものだったのかわかりませんが、正常に動作してくれれば文句はありません。メモリ増設から2年半が経過し、ようやく本来のMacBookの姿に戻れた気がします。

 

広告

Written by Junnn

2009年2月16日(月曜日) @ 01:42

コメント / トラックバック4件

Subscribe to comments with RSS.

  1. はじめまして。こんにちは。

    今年3月にアルミニウムMacBookを購入して、メモリを4GBに増設したところ、同じスリープの問題に悩まされていたため、こちらをウォッチしていました。

    購入したショップに事情を説明したところ、pqi社製品をトランセンドのメモリと交換していただけました。それ以降スリープの問題は全くおこっていません。

    メモリテストで問題がないのにスリープで失敗するのは、本当にサードパーティとの相性問題としかいいようがない気がします。

    以上、何らかの参考になるかと連絡申し上げました。

    通りすがりの人

    2009年4月16日(木曜日) at 03:52

  2. 貴重な情報、ありがとうございます!
    [追記6]以降、全く進展は無いのですが、一応Appleの方にはバグレポートとして報告しておきました。自分もサードパーティー製品との相性問題しかないと思い、その点を指摘しておきました。近いうちファームウェアのアップデートで直ることを期待したいです。

    僕の場合、交換は難しいと思われますが、正常に動作するサードパーティー製のメモリを教えていただいたので、今後の参考にしたいと思います。どうもありがとうございました!

    Junnn

    2009年4月16日(木曜日) at 08:12

  3. 明日Sumsung純正2Gx2メモリが届けられる予定です。2Gを4Gに増設つもりです。
    事前準備の知識をもつためにこちらにきました。サードパーティのメモリについて何かと参考になりました。
    交換してどうなるか少々心配になりました。
    増設の理由は、Lionへのアップグレードのためです。いまも少し使っているとフリーズしたりするので、
    安全策を講じようと思ったのです。
    結果は、また報告します。
    ところで、このWPのデザインは私も使っています。全く同じなのついコメントさせていただきました。

    米戸靖彦

    2011年6月20日(月曜日) at 02:56

  4. コメントありがとうございます。メモリ交換の方は如何でしたでしょうか?
    Snow Leopardの時は駄目でしたが、Lionにしたので再度正常動作を期待して、通常スリープに戻して使用しています。
    スリープからの復帰の速さがとても魅力なのに、ずーっとハイバネーションスリープを強要されてきたので、今度こそ直っていて欲しいです。現在はとても快適です。

    Junnn

    2011年7月22日(金曜日) at 21:48


コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中

%d人のブロガーが「いいね」をつけました。