Snow Leopardを64 bitカーネルで動かす!

ちょっと時代遅れの話題ですが…

Mac OS X 10.6、つまりSnow Leopardが発売されて、遂にMac OS Xにも64ビット化の波が訪れたと思ったのですが、土台のカーネルは32 bitで動いているケースがほとんど。

Snow Leopardをインストールしてすぐ、最初から64 bitカーネルで動作するのはEarly 2008か、それより新しいXserveサーバーと MacBook Proのみ。それ以外のMacBook、MacBook Pro、 MacBook Air、iMac、等のワークステーションクラスのMacはほとんどがデフォルトでは32 bitカーネルで起動する様になっています。

これは周辺機器の互換性も考慮した為にAppleがその様に設定している様で、確かに突然様々な周辺機器が使えなくなってしまったり、そもそもMacが64 bitに対応していない場合も考慮すると正しい考え方に思います。

しかし、せっかく新しいMacを持っているなら64 bitカーネルで動作させたくなります。ウチのMacBook Proも動くはずなのでちょっと試してみました。

説明してみます。

今はどのカーネルで動作しているのか?

システムプロファイラの左側のツリーで「ソフトウェア」をクリックし、「システムソフトウェアの概要」を見ると分かります。”64ビットカーネルと拡張機能”が「いいえ」となっている場合は、32 bitカーネルで起動・動作しています。

システムプロファイラはメニューバーの「アップルロゴ」-「このMacについて」で表示されるウィンドウで「詳しい情報…」をクリックすると起動出来ます。

64ビット 又は 32ビット カーネルで起動するには(一時的に)

まずMacをシャットダウンします。そして…

  • 電源ボタンを押して起動している間キーボードの 6 と 4 のキーを押し続けると、64 bitカーネルで起動します。

または…

  • 電源ボタンを押して起動している間キーボードの 3 と 2 のキーを押し続けると、32 bitカーネルで起動します。

この方法の場合は、起動時に必ずそれらのキーを押し続けないと適用されません。また、Macが64 bitカーネルをサポートしていない場合はこの方法を用いても32 bitカーネルで起動します。

64 bitカーネルで動作しているかどうかは、システムプロファイラの例の箇所が「はい」になっている事で確認出来ます。

永続的に起動時のカーネルを変更するには

難しく言うと、 /Library/Preferences/SystemConfiguration/com.apple.Boot.plist を編集します。左が32 bitカーネル起動、右が64 bitカーネル起動です。Kernel Flags Keyに “arch=x84_64” というValueが設定されていると、デフォルトで64 bitカーネルで起動する様になります。

しかし、このファイルを直接編集するのは少し敷居が高いので、これを簡単に出来るアプリケーション 32- or 64-bit Kernel Startup Mode Selector (Link) を使ってみました。フリーでダウンロード出来ますし、寄付を呼び掛けている様ですのでご協力出来る方は是非。

ダウンロードして起動すると次の様な画面が表示されます。

中央下部に表示されているSupported?が緑色のチェック(このスクリーンショットの様に)であれば、このMacは64 bitカーネルでの動作がサポートされています。恒久的に64 bitカーネルで起動したい場合は、このアイコンの左側にある「start in 64bit mode」をクリックして、(求められたら)システム管理者のパスワードを入力します。そしてMacを再起動すると、設定したカーネルで起動するはずです。32 bitカーネルに戻したい場合もこのアプリケーションで設定を変えることができます。

このアイコンは4種類あり、それぞれ意味合いが異なります。

1番目: 64 bitカーネルでは動作しない

2番目: 64 bitカーネルで動作する

3番目: Appleが公開している64 bitカーネル動作サポート機種ではないが、動く。

4番目: 技術的には64 bitカーネルで動作するが、Appleによってそれを有効に出来ない。

気になる方は試してみてください。

新しいMacBook Pro登場!Intel Core i5 & i7

2010年4月13日、噂通りMacBook Proがアップデートされました。アップデート前の価格を記録しておかなかったので、値上がりか値下がりか分かっていませんが、ぱっと見た目ではあまり価格に変化はない様に感じます。

  • 15 inch MacBook Pro w/ Intel Core i5, 2.4GHz : JPY168800
  • 15 inch MacBook Pro w/ Intel Core i5, 2.53GHz : JPY188900
  • 15 inch MacBook Pro w/ Intel Core i7, 2.66GHz : JPY208800
  • 17 inch MacBook Pro w/ Intel Core i4, 2.53GHz : JPY218800

出荷予定は24時間以内。既にしばらく前から在庫生産が行われていたのでしょうか。13インチとMacBook, MacBook Airのアップデートはなかった様です。

主な仕様は以下の通り。

15インチMacBook Pro

プロセッサ:
Intel Core i5 – 2.4GHz
Intel Core i5 – 2.53GHz
Intel Core i7 – 2.66GHz

グラフィック:
全モデル Intel HD Graphics (256MB DDR3 SDRAM shared)
Core i5の2.4GHzと2.53GHzは NVIDIA GeForce GT330M (256MB DDR3 shared)
Core i7の2.66GHzは NVIDIA GeForce GT330M (512MB DDR3 shared)

17インチMacBook Pro

プロセッサ:
Intel Core i5 – 2.53GHz
BTO オプションで Intel Core i7 – 2.66GHz (プラス JPY20,160-)

グラフィック:
Intel HD Graphics (256MB DDR3 SDRAM shared)
NVIDIA GeForce GT330M (512MB DDR3 shared)

待ちに待った方も多かったのではないでしょうか。ついにi Coreプロセッサが搭載されたMBP。パフォーマンスはどの程度良くなっているのでしょうね。ベンチマークレポートなどが楽しみです。

[April/13 10:09PM追記]

Amazonで売られているMacBook Pro 13 inchのスペックと比較したら、13 inchもプロセッサが2.4GHzと2.66GHzに変更になっていました。さらに価格も下がっていますね。

参考リンク: MacBook Pro – Apple Store (Japan)

MacBook Pro の Update 近し?

この数日間、様々なサイトで噂が飛び交っていますが、MacBook Proのアップデートが間近に迫っている様子です。

Australian Macworldは、来週の火曜日、2010年4月13日に新しいMacBook ProがリリースされるのではないかとするAppleのProduct Life Cycleに詳しい筋から情報を入手したと伝えています。同時に、MacBook Airについては不明との事ですが、これはごく最近Airを手に入れたウチにとっては少し嬉しい情報 (^^;;。もうしばらくするとiPhone OS 4の発表、そして全世界でのiPad発売(おそらく4月24日と伝えています)。先日のアメリカでのiPad発売も含め、4月はAppleにとってとても忙しい月になります。

また、Apple Brothers さんのエントリーでは、Apple StoreにおけるMacBook Proの納期が24時間以内の出荷から数日(モデルによって5日以上、15インチ2.53GHzを除き)に変わっている事を伝えています。Australian Macworldの伝えている様に、MacBook Airについては今も24時間以内の出荷になっている事から、おそらくアルミニウムユニボディのMacBook ProシリーズのみがIntel i coreシリーズ搭載へアップデートされるのではないかと考えられます。

今までMacBook Proのアップデートを待ちこがれて購入を待っていた方も、来週は注目の1週間になりそうですね。

Macのスリープについて その2

先日のエントリーでMacのスリープ動作設定を変更する為のシステム環境設定項目 SmartSleep をご紹介しましたが、システム環境設定項目を入れずともMacのスリープモードを切り替える方法を忘却録を兼ねてエントリーにしておこうと思います。

まずMacのスリープ動作について考える。

SmartSleepのエントリーでも記載したのですが、Macには3つのスリープ動作モードがあります。

(a) sleep and hibernate ( Safe Sleep Mode / セーフスリープモード )

pmsetコマンドによる設定No: 3

RAM上の内容をハードディスクに書き込み、保存。
そのため、スリープ中にバッテリー残量が無くなっても、ACアダプターを接続すれば復帰可能。
ただし、RAMの内容を保持する為にスリープ中もバッテリーの電力を使う。
スリープへの移行時にRAM内容をハードディスクに書き込むので少し時間がかかる。
復帰は早い。

(b) sleep only ( sleep mode / スリープモード )

pmsetコマンドによる設定No: 0

RAM上の内容をハードディスクに書き込まない。
よって、スリープ中にバッテリー残量が無くなると、ACアダプターを接続しても復帰不可能。
RAMの内容を保持する為にスリープ中もバッテリーの電力を使う。
スリープへの移行時にRAM内容をハードディスクに書き込まないので高速。
復帰も早い。

Windowsのスタンバイ。

(c) hibernate only ( deep sleep mode / ディープスリープモード )

pmsetコマンドによる設定No: 1

RAM上の内容をハードディスクに書き込み、保存。
そのため、スリープ中にバッテリー残量が無くなっても、ACアダプターを接続すれば復帰可能。
RAMの内容はスリープ移行時に破棄するので、スリープ中はバッテリー電力を使わない。
スリープへの移行時にRAM内容をハードディスクに書き込むので少し時間がかかる。
スリープからの復帰時にも元のRAM内容をハードディスクから読み出すので少し時間がかかる。

Windowsの休止状態。

RAM上の内容をハードディスクへ書き込んだり、読み出す時間はRAM容量によって随分異なりますので、一概に何秒とは言えませんが、ウチの4GB RAM MBPでは10秒以上はかかります。

現在のスリープ動作設定を知る。

まずは、現在の設定が上記のいずれであるかを知る方法です。

[アプリケーション] – [ユーティリティ] – [ターミナル] を起動して、

pmset -g

とタイプしてenterを押します。

色々表示されますが、現在のスリープ動作設定を表しているのは hibernatemode の項目に表示される数字です。

0の場合: 上述の (b) sleep only ( sleep mode / スリープモード )
1の場合: 上述の (c) hibernate only ( deep sleep mode / ディープスリープモード )
3の場合: 上述の (a) sleep and hibernate ( Safe Sleep Mode / セーフスリープモード )

MacBookのデフォルト設定は3 – (a) sleep and hibernate ( Safe Sleep Mode / セーフスリープモード ) の様です。

スリープ動作設定を変更する。

引き続きターミナル上で

sudo pmset -a hibernatemode [No]

とタイプしてenterを押します。
[No]の箇所には 0 か 1 か 3 をタイプします。例えば上述の (b) sleep only ( sleep mode / スリープモード )へ設定を変更したい場合は

sudo pmset -a hibernatemode 0

です。

すると、Password: と表示されますので、ログインパスワードを入力したenterを押します。

ちゃんと設定が変更されたかどうかは pmset -g コマンドで確認出来ます。この設定変更は即座に有効になりますので、Macの再起動は必要ないはずです。

ここで紹介した方法を用いれば、Mac OS Xに標準で入っているターミナルだけでスリープ動作設定を変更する事が出来ます。先日のSmartSleepでも設定変更もそうですが、スリープモードの変更はAppleが公式にサポートしているわけではないので、自己責任で。

Macのスリープについて

Macをお使いの方はご存知の通り、Mac OS Xの省エネルギー設定を見てもさほど詳しい設定はありません。

この様に、操作されてない状態が続いた時どのくらいの時間でディスプレイをスリープさせ、さらにコンピュータをスリープさせるかの設定のみです。ハイバネーション(休止状態 もしくは ディープスリープ – Deep Sleep – )という言葉は一切出てきません。

MacBook系を使っているウチにとって、スリープ状態で持ち運ぶ事で浪費してしまうバッテリー残量は大きな悩みでした。そこで見つけた便利そうなシステム環境設定項目を紹介してみます。

SmartSleepです。フリーのシステム環境設定項目です。
ダウンロードしてインストールすると、システム環境設定にアイコンが追加されます。

早速クリックしてみると、最初は設定が変更出来ない様にロックされていますので、左下のカギをクリック、パスワードを入力して設定変更出来る様ロックを解除します。

デフォルトでは「sleep and hibernate」の設定になっていると思います。このSmartSleepがすばらしいと感じたのは、ディスプレイを閉じたときの挙動を好きな設定へ変更出来る事と、バッテリー残量が多いときはスリープ(スタンバイ)になるけれど、バッテリー残量が設定した値より低い場合にスリープ&ハイバネーション(スタンバイ&休止状態)に移行してくれる「smart sleep」という設定がある事です。

ターミナルを用いてコマンドを実行すれば同等の設定は出来ますが、フリーのシステム環境設定で手軽にMacの眠り方を設定出来るのは便利です。

  • sleep and hibernate:
    標準の設定です。ほとんどsleep onlyと同じで、RAMの内容を保持する為にバッテリーが常に消費されています。さらに、スリープへ移行する時にRAMの内容をHDDへ書き出し、万が一完全にバッテリー残量が無くなった場合、その後ACアダプターを接続するとハイバネーションから復帰します。
  • sleep only:
    スリープに限定します。よって、RAMの内容を保持する為にバッテリーが常に消費されます。ただし、スリープへの移行も復帰も高速で、ディスプレイの開閉で瞬時に移行出来ます。
  • hibernate only:
    ハイバネーションに限定します。RAMの内容をディスクへ保存するのでバッテリーは全く消費されません(シャットダウンしたのと同じ)。ただし、RAMの容量にもよりますが、ハイバネーションへの移行時にRAMの内容をハードディスクへ書き出す時間がかかり、復帰も同様にディスクからRAMへ読み出す時間がかかります。
  • smart sleep:
    このオプションを選択するとどのレベルに達したら”sleep and hibernate”動作をするか指定するバーが表示されます。デフォルトは20となっており、バッテリー残量が20%以上又は20分以上の場合はsleepし、それ以下の場合はsleep & hibernate動作。さらにバッテリー残量が5%もしくは5分以下になるとhibernate動作します。

バッテリーの残り残量重視であればhibernate only。スピード重視であればsleep only。どちらもという場合はsmart sleepという設定に使えそうです。

個人的に求めていたのはsmart sleepで、設定した値以下になった場合に”sleep & hibernate”動作ではなく、”hibernate only”動作をして欲しかったのが惜しいですが…。こちらについては作者へ直接問い合わせてみたいと思います。

ちなみにこのSmartSleep、ユーザが選択したモードにあわせてconfigdコマンドを使って/Library/Preferences/SystemConfiguration/フォルダにあるcom.apple.PowerManagement.plist設定を変更している様です。このplistファイルにあるhibernate modeの値を色々変更する事で、同等の設定をすることができます。こちらは別の機会に紹介してみたいと思います。

[Mar/25/2010追記]

早速SmartSleepの作者、Patrick氏にメールで ‘smart sleep’ において、バッテリー残量が設定した値以下になった場合にハイバネーションへ移行する機能について提案したところ、以下のような回答を得ました。

A different slider for the hibernation level is what I had in mind for version 3.0

まだまだ忙しく、Version 3.0の登場までは時間がかかりそうですが、次期バージョンが楽しみです。

Apple製品のバッテリーについて…

以前のエントリーでMacBook Pro 15 inchのバッテリーについてAppleから入手した情報などを載せましたが、その後Appleのサイトを彷徨っていたところ、さらに情報を見つけました。紹介してみます。

MacBook / MacBook Pro / MacBook Airのバッテリーについて

リチウムイオンバッテリーとリチウムポリマーバッテリーによって扱いが異なるようです。最新モデルのMacBook / MacBook Pro / MacBook Airはいずれもリチウムポリマーバッテリーが用いられていますが、しばらく前のモデルはリチウムイオンバッテリーです。

Appleの記事によると、

初めてコンピュータを使う際および使い始めてから数ヶ月ごとに、バッテリーの再調整を行う必要がある

とあります。え、「初めてコンピュータを使う際」って、そんな事添付されてくるインストラクションには書かれていなかったと思うのですが….。

また、普段はACアダプターをつないだままで使用している場合も、1ヶ月に1度程度はバッテリーの調整をした方がよいと紹介されています。

その方法は前述の通り、リチウムイオンバッテリーとリチウムポリマーバッテリーによって異なりますが、一旦フル充電した後、バッテリーが空になるまで使いスリープもしくはシャットダウン。そして、再度フル充電するといった手順です。リチウムポリマーバッテリーの場合は、最初のフル充電時に2時間程度余分に充電し、またバッテリーを使い切った後スリープもしくはシャットダウン状態で5時間程放置する手順が追加されています。

iPhone / iPodのバッテリーについて

こちらはMacBook系のような詳しい手順が掲載された記事を見つける事はできませんでしたが、少なくとも

リチウムベースのバッテリーを適切にメンテナンスするには、バッテリー内の電子を時々動かすことが重要です。毎月最低でも1回は充電/放電サイクルを完了するようにしてください。

と記載されていました。この表現によれば、毎回継ぎ足し充電をするような使い方をしている場合でも、1ヶ月に1回はiPhone / iPodがフル充電の状態から完全にバッテリーを使い切り、再度フル充電をするという事を心がけた方が良い様です。

バッテリーと温度について

リチウムポリマーバッテリーは高温環境下においては普段の性能を発揮できないようで、完全なフル充電ができない場合がある為、Appleのサポートページにある記事にもiPhone / iPodをケースに入れた状態で充電しているような場合は、発熱によって本来の性能が得られない事があるのでその場合はケースから取り出すように記述があります。

iPhoneのバッテリーのもちが悪くなったと感じたとき、もしかしたら少し厚手のケースに変えた事に起因する事もあるかもしれませんね。

少しは参考になればと思います。ウチは「初めてコンピュータを使う際および…」の文章を見ただけで、「初めて使う前に教えてくれよ…」って感じでした。

でも遅くはありません、iCalに定期的なイベントを追加して、毎月一度くらいはMac / iPhone / iPodのバッテリーの充電・放電サイクルしてリフレッシュしてみようと思います。

参考リンク: