web-dev-qa-db-ja.com

macOS-仮想メモリの制限(アーキテクチャまたは実用)?

MacOSが使用できるメモリの量に特定の制限(構成可能、仮想)はありますか?

アドレス可能なRAM、システムによる仮想メモリの使用方法、十分な空きディスク容量があるという仮定など、いくつかの関連する要因があることを私は知っています。

最大値を説明する記事は1つも見つかりませんでした。

(メタのディスカッションを読んだ後、スーパーユーザーに投稿されましたが、必要に応じてこれを編集または移動してください)。

3
benc

MacOSが使用できるメモリの量に特定の制限(構成可能、仮想)はありますか?

仮想メモリの量は、64ビットプロセスで最大18エクサバイトのアドレス可能なスペースです。

これは、十分なディスク容量が利用可能であることを前提としています。

仮想メモリシステムについて

効率的なメモリ管理は、OSXとiOSの両方で高性能コードを作成する上で重要な側面です。メモリ使用量を最小限に抑えると、アプリケーションのメモリフットプリントが減少するだけでなく、消費するCPU時間も削減できます。ただし、コードを適切に調整するには、基盤となるシステムがメモリを管理する方法について理解する必要があります。

OS XとiOSの両方に、オフにできない完全に統合された仮想メモリシステムが含まれています。常にオンになっています。どちらのシステムも、32ビットプロセスごとに最大4ギガバイトのアドレス指定可能なスペースを提供します。さらに、OS Xは、64ビットプロセス用に約18エクサバイトのアドレス可能なスペースを提供します。 4ギガバイト以上のRAMが使用可能であるコンピューターの場合でも、システムがこれだけのRAMを単一のプロセスに割り当てることはめったにありません。

プロセスが4ギガバイトまたは18エクサバイトのアドレス空間全体にアクセスできるようにするために、OSXはハードディスクを使用して現在使用されていないデータを保持します。メモリがいっぱいになると、使用されていないメモリのセクションがディスクに書き込まれ、現在必要なデータ用のスペースが確保されます。未使用のデータを格納するディスクの部分は、メインメモリのバックアップストレージを提供するため、バッキングストアと呼ばれます。

ソース 仮想メモリシステムについて

1
DavidPostill