なぜあなたはあなたのMac上の仮想メモリをオフにすべきではありません
Macには、アプリケーションが使用できる一定量の物理メモリが付属しています。実行中のプログラム、開いているファイル、およびMacがアクティブに作業しているその他のデータは、この物理メモリに保存されています。しかし、それは単純化です - アプリケーションは「仮想メモリ」を使うこともできます。あなたのMacはそれを圧縮して一時的にディスクに保存することができます。.
最近のMacで仮想メモリを無効にする正式な方法はありませんが、これはMac OS X(現在はmacOSと呼ばれています)がリリースされる前の頃には可能でした。お使いのMacがディスクに仮想メモリを保存しないようにシステムをハッキングすることは可能かもしれませんが、そうしないでください。.
仮想メモリとは?
あなたのMacは限られた量の物理メモリしか持っていませんが、それは実行中のプログラムに利用可能な仮想メモリのより広い領域を公開します。たとえば、8 GBのRAMを搭載したMacの場合でも、Mac上の32ビットプロセスごとに、4 GBの使用可能なアドレススペースが割り当てられます。 64ビットプロセスごとに約18エクサバイト、つまり180億ギガバイトの空き容量があります。.
アプリケーションは、これらの制限内で必要なだけのメモリを自由に使用できます。物理メモリがいっぱいになると、macOSは自動的に使用されていないデータを自動的に「ページアウト」して、Macの内蔵ドライブに保存します。データが再度必要になると、それはRAMに転送されます。これは単にデータを常にRAMに保持するよりも時間がかかりますが、システムが透過的に単に「機能し続ける」ことを可能にします。 Macが仮想メモリデータをディスクに保存できない場合は、プログラムを閉じて続行するように求めるメッセージが表示されます。.
これは基本的にはWindowsのページファイル、Linuxや他のUNIX系オペレーティングシステムのスワップ空間と同じです。実際、macOSはそれ自体がUNIXライクなオペレーティングシステムです。.
最近のバージョンのmacOSでは、実際にはデータをディスクにページアウトすることを避け、ページングする前にメモリに格納されているデータをできるだけ圧縮することを避けています。.
どこに保管されているか?
仮想メモリデータは / private / var / vm
それがディスクにページングされている場合は、Macの内部ストレージ上のディレクトリ。データは「swapfile」という名前の1つ以上のファイルに格納され、数字で終わります。.
ほとんどのUNIX系オペレーティングシステムはスワップファイル用に別のパーティションを使用し、ストレージの一部をスワップ領域に永続的に割り当てます。 AppleのmacOSはこれをしません。代わりに、スワップファイルファイルをシステムのストレージドライブに保存します。アプリケーションが追加の仮想メモリを必要としない場合、これらのファイルはそれほど多くのスペースを使用しません。アプリケーションがより多くの仮想メモリを必要とする場合、これらのファイルは必要に応じてサイズが大きくなります - そして、それらがそれ以上大きくなる必要がなくなると縮小します。.
このディレクトリには「sleepimage」ファイルも含まれています。このファイルには、休止時にMacのRAMの内容がディスクに保存されます。これにより、Macはシャットダウンしても電力を使用しなくても、開いているすべてのアプリケーションやファイルを含むその状態を保存できます。.
このディレクトリの内容を表示して、これらのファイルが現在ディスク上で使用している容量を確認するには、ターミナルウィンドウを開いて次のコマンドを実行します。 (ターミナルウィンドウを開くには、Command + Spaceを押してSpotlight検索を開き、「ターミナル」と入力してEnterキーを押します。)
ls -lh / private / var / vm
下のスクリーンショットでは、私のMacでは、これらの各ファイルのサイズが1 GBであることがわかります。.
なぜあなたは仮想メモリを無効にしないでください
この機能を無効にしないでください。 macOSオペレーティングシステムと実行中のアプリケーションは、それが有効になることを期待しています。実際、Appleの公式文書には、「OS XとiOSの両方に、完全に統合された仮想メモリシステムが含まれているため、電源を切ることはできません。それは常にオンです。」
しかし、それは 技術的に バッキングストア(つまり、ディスクオンのmacOS上のスワップファイル)を無効にすることができます。これには、dynamic_pagerシステムデーモンを実行しないようにMacに指示してからスワップファイルを削除する前に、System Integrity Protectionを無効にする必要があります。これを行うための関連コマンドはここでは提供しません。誰にも推奨されないためです。.
macOSオペレーティングシステムとその上で実行されているアプリケーションは、仮想メモリシステムが適切に動作することを期待しています。物理メモリがいっぱいになり、Macオペレーティングシステムがデータをディスクにページアウトできない場合、2つの悪いことのうちの1つが起こります。1つまたは複数のアプリケーションを終了して続行するよう指示するプロンプトが表示されるそして、あなたは一般的なシステム不安定性を経験するかもしれません.
はい、16 GB以上のRAMがある場合でも、特にビデオ、オーディオ、または画像エディタなど、メモリに大量のデータを格納する必要のあるプロ仕様のアプリケーションを実行している場合は、いっぱいになることがあります。ほっといて.
ディスク容量、またはあなたのSSDについて心配しないでください
仮想メモリ機能を無効にしてスワップファイルをディスクから削除したい理由が2つあります。.
まず、ディスクスペースの使用量が心配になるかもしれません。あなたはいくつかのスペースを解放するためにこれらのファイルを取り除きたいと思うかもしれません。まあ、私たちはそれについて心配しないでしょう。これらのファイルはディスク上の大量のスペースを無駄にしません。あなたのMacがそれほど多くの仮想メモリを必要としないなら、それらは小さいでしょう。たった4 GBのRAMしかない私たちのMacBook Air上で、私たちは約1 GBのスペースを使っているスワップファイルファイルに気づいた - それはそれである.
彼らがたくさんのスペースを使っているのなら、それはあなたが開いているプログラムがそれを必要としているからです。要求の厳しいプログラムを終了するか、あるいは再起動するかしてみてください。スワップファイルファイルは圧縮され、スペースの使用が止まるはずです。あなたのMacは必要な時にだけディスクスペースを使うので、あなたは何も失うことはない.
仮想メモリファイルが常に非常に大きい場合は、仮想メモリ機能を無効にする必要があるのではなく、MacにRAMを追加する必要があるというサインです。 (アップルメニュー>「このMacについて」をクリックし、「メモリ」の横に表示されている内容を読むと、お使いのMacの物理メモリの容量を確認できます。)
他の懸念はあなたのMacの内蔵ソリッドステートドライブの消耗です。多くの人々は、ソリッドステートドライブへの過剰な書き込みがその寿命を短くし、問題を引き起こす可能性があることを心配しています。これは理論的には真実ですが、実際には、この懸念は一般的に過大なものになり、SSDの寿命がはるかに短くなった日々から取り残されました。このような機能が有効になっていても、現代のSSDは長持ちするはずです。あなたがデフォルトのシステム機能を有効にしたままにしているからといって、macOSがあなたのSSDをすぐに消耗させることはありません。.
言い換えれば、心配しないでください。仮想メモリはそのままにしてお.