仮想メモリの使用

by GRAPHISOFT · 最終更新日: 2016年4月15日

大きなファイルの操作中(ARCHICADでの3D表示や大規模モデルのレンダリング、大きなチームワークファイルの送受信、またはその他のメモリを消費する操作)にARCHICADがクラッシュする、またはメモリが不足していますという警告メッセージが表示される場合、あるいは空の画像がレンダリングされる場合は、どの程度のメモリが使用されているか確認し、ファイルをより効率的にしてメモリ使用量を低下させるのは妙案です。

基本的ないくつかの事項

WindowsまたはMacintosh OSでは、アプリケーションにアドレス可能なメモリの量は制限されています。「アドレス可能なメモリ」とは、アプリケーションが使用可能な仮想メモリの最大量という意味です。アプリケーションの仮想メモリとは、Aに割り当てられた物理メモリページファイルデータの合計です。複数のアプリケーションと1つのシステムによって同時に物理メモリを効率的に使用するために、アプリケーションが直ちに必要としない一部のデータは、ハードドライブ上に存在するページファイルに保存されます。

MemoryUsage.png

この図は、アプリケーションに割り当てられた仮想メモリが、物理メモリ内のデータとページファイル内のデータという2つの部分を形成していることを示します。現在物理メモリ内にある仮想メモリの部分は、分刻みで変化します。この理由は、アプリケーションがより多くの仮想メモリを要求する、または仮想メモリを解放するためのみでなく、システムが常にページファイルと物理メモリ部分との間でデータをやり取りしているためでもあります。

1つのアプリケーションに対する仮想メモリの最大量は、OSに依存します。ARCHICADなどの32ビットアプリケーションの場合は、32ビットWindowsシステムでは2 GB、64ビットWindowsシステムやMacの現行モデルでは4 GBです。Windows XP(32ビット版)やWindows Vistaの場合は、3GBに拡張することができます。Windows 64ビット版で動作するAC13のWindowsバージョンでは、アドレス可能な仮想メモリはARCHICADのインスタンスごとに8 TB増加します。この内容についてより詳しくは、この記事の最後をお読みください。

  • アプリケーションで必要な仮想メモリが最大許容量を上回る場合は、物理メモリがどれだけ大容量でもアプリケーションはメモリ不足になります。

Windowsでの仮想メモリの使用量の確認

あるアプリケーション(ARCHICADなど)がWindowsシステム上で使用している仮想メモリの量を確認するには、Sysinternalsが提供するProcess Explorerアプリケーションを使用する必要があります。

http://technet.microsoft.com/en-us/sysinternals/bb896653.aspx

Windowsに付属する標準のタスクマネージャは、この目的には適していません。タスクマネージャで「仮想メモリの使用量」とされる用語が、正確ではないためです。そのため、Process Explorerをダウンロードして、下記のスクリーンキャプチャに示す列を表示させます。

Sysinternals.png

[Virtual Size]は、Process Explorerでは仮想メモリを指します。この値がOSで指定された制限とどれだけ近いかを確認する必要があります。

追記として、[Working Set]列は特定のアプリケーションで使用される物理メモリを意味します。

Macintoshでの仮想メモリの使用量の確認

あるアプリケーション(ARCHICADなど)がMacintoshシステム上で使用している仮想メモリの量を確認するには、アプリケーション/ユーティリティフォルダにあるアクティビティモニタアプリケーションを使用する必要があります。実行して、[システムメモリ]タブを選択します。

ActivityMonitor.png

[仮想メモリ]は、アクティビティモニタ仮想メモリを指します。これは正確なアプローチです 🙂 この値がOSで指定された制限とどれだけ近いかを確認する必要があります。制限が4 GBで仮想メモリの使用量が例えば3.8 GBまで増加したためにメモリが停止して、ARCHICADではジョブを適切に終了していない場合、最後の操作でARCHICADは使用可能な最大のメモリブロックより大きな仮想メモリのブロックを使用可能にしようと試みたことを意味します。

追記として、[実メモリ]列は特定のアプリケーションで使用される物理メモリを意味します。


仮想メモリが不十分なことが判明した場合

1. [作業環境]の[詳細再描画オプション]で、[メモリ使用]スライダを[低]に移動させます。ARCHICADの一部の機能は低速化しますが、メモリ使用量が低下します。一部の機能にのみ効果を発揮するため、常に状況が改善されるわけではありません。

2. 32ビットOSを使用している場合は、64ビットOSを選択してください。さらに、Windows 64ビット版で動作するAC13のWindowsバージョンでは、アドレス可能な仮想メモリはARCHICADのインスタンスごとに8 TB増加します。

3. 64ビットOSの購入が当面の解決策にならない場合は、32ビットシステムでアプリケーションに割り当てられる仮想メモリの量を増加させることができます。

  • 32ビット版Windows XPでの仮想メモリの拡張については、このリンクの説明を参照してください。

    32ビット版Windows Vistaでの仮想メモリ容量の変更については、次の説明に従ってください。

    • 仮想メモリの拡張
      1. [スタート]メニューの[すべてのプログラム]で[アクセサリ]グループから[コマンドプロンプト]を右クリックします。
      2. コンテキストメニューから[管理者として実行]を選択します。
      3. コマンドプロンプトで、「bcdedit /set IncreaseUserVa 3072」と入力します。
      4. コンピュータを再起動します。

      拡張メモリの無効化

      1. [スタート]メニューの[すべてのプログラム]で[アクセサリ]グループから[コマンドプロンプト]を右クリックします。
      2. コンテキストメニューから[管理者として実行]を選択します。
      3. コマンドプロンプトで、「bcdedit /deletevalue IncreaseUserVa」と入力します。
      4. コンピュータを再起動します。

4. ドキュメンテーションファイルからモデルファイルを分離して、メモリ使用量を低下させることができます。