M1 Macに16GBメモリは不要? 8GBでも充分?

CTOか吊るしか

Macを買う時、いつも迷うのはアップルストアでCTO(Costom To Order)で買うか、アップルストア以外で「吊るし」(標準モデル)を買うかです。

CTO 吊るし
販売場所 アップルストア アップルストア
アップルストア以外
価格 定価 店によっては値引き
店によってはポイント
メモリ容量 選択可能 8GBのみ
SSD容量 選択可能

Macは基本的には定価販売ではあるものの、アップルストア以外では値引きやポイントがあるショップがあります。

しかし、アップルストア以外で購入できるのは吊るしのメモリ8GBモデルのみなのです(SSDなら容量が選べますが)。

さらにM1 Macではユーザーによるメモリ増設はできません。インテルMacでもそれができるのはMac miniや27インチ iMacのみです。

つまり、8GBを超えるメモリが必要なら定価販売のアップルストアで購入するしかありません。

Amazonや楽天などアップルストア以外で販売されているのはすべてメモリ8GBの吊るしです。

インテルMacの場合

ではなぜ、多くの人がCTOで安くないお金を払ってまでメモリを増やしたがるのでしょうか。

メモリが足りないから?

いいえ、Mac(WindowsやLinuxも同じですが)には「仮想記憶」という仕組みがあります。

仮想記憶とは全てのアプリに仮想的なメモリを割り当てる仕組みです。

たとえ物理メモリが8GBであっても各アプリはそれを遥かに超える量のメモリを使うことができます。

なぜ物理メモリ以上のメモリが使えるかというと使用頻度の低い仮想メモリ領域をストレージ(現在ならSSD)に退避させ、再び必要になったらストレージから読み出す(スワッピング)からです。

つまり、物理メモリとストレージを組み合わせて広大な仮想記憶が実現されています。

この仮想記憶を使い切るのはよほどおかしなことをしない限り無理です。

ストレージが遅い

ではなぜ、仮想記憶があるんだからメモリ8GBでもいいんだ、とならないのでしょうか。

理由は物理メモリ以上の仮想記憶が使われた場合にスワッピングが起こると極端に遅くなるからです。

スワッピングが遅い理由はストレージの読み書きが発生するからです。

結局、メモリ8GBで足りない理由は物理メモリに比べてストレージが遅いために仮想記憶の動作が極端に遅くなるためです。

ちなみにそれはWindows PCも一緒ですが、WindowsではGUIで仮想記憶をOFFにできます。

そのため、仮想記憶OFFでメモリ不足にならない範囲で運用することで高速化する方法があります。

M1 Macの場合

現在、M1 Macのメモリは吊るしの8GBかCTOで16GBにするかの2択で16GBを超えるメモリの選択肢はありません。

さらにインテルMac miniやインテル27インチiMacであればユーザーがメモリ増設できますが、M1 Mac miniでもM1 iMacでも増設はできません。

インテルMacでは32GBや64GBのCTOを使っている人も少なくなく、M1 Macの発売直前には最大16GBでは話にならない、という声もありました。

しかし、実際には8GBのM1 Macで8GBを超える仮想記憶を使ってもサクサクと動いています。

メモリ4GBでWindowsがサクサク動く

現在、M1 MacではBoot Campは使えませんが、Parallels DesktopでInsider PreviewのARM版Windowsを動かすことはできます。

Macのハードウエアリソースを専有できるBoot Campと異なり、Paralles DesktopではmacOSとWindows OSが同時に動くため、Windowsに割り当てられるリソースはMacのリソースの半分程度までです。

メモリ8GBのMacであればWindowsに割り当てられるメモリは4GB程度です。

現在でもメモリ4GBのWindows PCは売られていますが、上級者は買いません。遅くて使い物にならないことを知っているからです。

8GBのインテルMacでParalles Desktopを使う場合もWindowsに割り当てられるのは4GBで、サイズの小さい32bit版Windowsを使うなど涙ぐましい工夫をしないと快適には使えません。

しかし、8GBのM1 MacだとParalles Desktopで4GBを割り当てたWindowsが仮想記憶をOFFしなくてもサクサク動くのです。

仮想記憶が本来の姿に戻った

M1 MacはインテルMacに比べてストレージ速度が非常に速くなっています。

SSDの性能向上もあるでしょうが、SSD、CPU、物理メモリを繋ぐ「バス」の高速化も大きいかもしれません。

それによって仮想記憶が本来の姿に戻ったのではないでしょうか。

今と比べてメモリが非常に高価で遅かった時代には、(スワッピングを回避するために)大量のメモリが必須、という発想はなかったように思います。

CPUやメモリはどんどん高速化されてきました。

それに対し、ストレージやバスの高速化は置き去りにされてきました(ハードディスクからSSDという変化はありましたが)。

CPU・メモリとストレージの速度差が開くことでいつのまにか、(スワッピングを回避するために)大量のメモリが必須、という認識が当たり前になっていました。

でもそれは本来の姿ではなかったはずです。

コメント