定義
メモリのトピックについて(一般)
メモリに関する留意事項:
- 中央メモリ(1次記憶装置とも呼ばれます)は、プログラムの実行時にデータを一時的に記憶できます。中央メモリはRAMと呼ばれるものに相当します。
- 大容量メモリ(2次記憶装置とも呼ばれます)は、データを長期的に(コンピューターの電源オフ時を含む)保存できます。大容量メモリは、磁気記憶装置(ハードディスクなど)、光学記憶装置(CD-ROMやDVD-ROMなど)、固定記憶装置に相当します。
仮想メモリは、“物理メモリ(RAM)とページネーションファイル(SWAP、pagefile.sys)の組み合わせ”に相当します。
メモリについて(Flux)
コンピューターサイエンスの観点から見ると、Fluxは次のものを備えています:
- 次の2つの主要コンポーネント:
- Fortran言語による1つの“計算”コンポーネント(非表示部分)
- Java言語による1つの“GUI”コンポーネント(表示部分)
- Javaによるこれら2つのコンポーネント間の1つの接続
したがって、上記の各コンポーネントを動作させ、これらのコンポーネント間の接続を可能にするため、メモリ空間はFluxの開始時に静的に割り当てられるか、Fluxの実行時に動的に割り当てられる必要があります。
メモリの配分を次の図に示し、以降の項で説明します。
計算メモリ
- 数値メモリ:
これは、さまざまなモデル化アクションで使用されるメモリです。3Dメッシングおよび解析プロセス(2Dと3D)は、大量のメモリを要求するプロセスです。
割り当てられるメモリサイズは、アプリケーションタイプ(実数 / 複素数)と解析プロセスのマトリックスサイズに応じて決まります。
- 文字メモリ:
これは、ディレクトリにあるエンティティ名(パラメータ / 変換 / 領域など)とプロジェクト名の保存に使用されます。
-
静的モード
このメモリ管理モードはデフォルトモードです:Userがオンになります。
Fluxでは、メモリの内部ガベージコレクターが使用されます。このツールは、Fluxの開始時にグローバルメモリ空間を割り当てます。このメモリ空間は、数値メモリ用と文字メモリ用の2つのFortranテーブルで構成されます。これらの各テーブルのサイズは、メインプログラムに書き込まれるFortranパラメータによって制御されます。
注: *定義:静的割り当て: Fluxの開始用に予約されているメモリのサイズは、ユーザーが設定します(したがってこれは変更可能です)。
-
動的モード(Flux 2020から使用可能な新機能)
このメモリ管理モードをアクティブにするには、Dynamicをオンにする必要があります。
Fluxの実行に必要なメモリ空間は、Fluxの実行中にFlux自体によって動的に管理されます。
GUIメモリ:
現在にいたるまで、GUIメモリは専ら静的に管理されています(User)。
GUIメモリは、グラフィカルユーザーインターフェース(グラフィック表示など)に関するすべてに使用されるメモリです。
グラフィックウィンドウでは、左下にあるフラグによって、グラフィックメモリの使用状況が図示されます。このフラグが赤色の場合は、これをダブルクリックすることで、プロセスで使用されているメモリを強制的に解放できます。
システムメモリ
システムメモリは、User管理モードでのみ表示され、数値、文字、およびGUIメモリに加えて、追加のメモリ空間が使用されていることを示します。
システムメモリは、システムが適切に動作するように割り当てられるメモリで、以下により構成されます:
- «実行可能»メモリ: Fluxプログラム(実行可能ファイル)用のメモリ空間。
-
«キャッシュ»メモリ: 計算コンポーネント(Fortran)とGUIコンポーネント(Java)の間でデータを転送するためのメモリ空間。
このメモリを定量化するのは難しく、データの復旧時にこのメモリによってエラーが発生する可能性があります。
追加メモリ
- インポート時、およびモデラー内: ACISライブラリ
- メッシュ生成時:MeshGems(使用されている場合)
- 解析プロセス時:MUMPS(使用されている場合)