Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

memory

説明

memory は、コンピューターのメモリ量および MATLAB® で使用されているメモリ量に関する情報をコマンド ウィンドウに表示します。MATLAB がメモリ不足になった場合、または多量のメモリ使用によるパフォーマンス低下に気付いた場合は、memory を使用してメモリの詳細情報を検査することができます。

関数 memory は、Microsoft® Windows® プラットフォームでのみ使用できます。

[userview,systemview] = memory は、メモリに関してユーザーに焦点を当てた情報を userview で返し、システムに焦点を当てた情報を systemview で返します。

すべて折りたたむ

コンピューターのメモリに関する情報を取得し、その情報をコマンド ウィンドウに表示します。

memory
Maximum possible array:       60021 MB (6.294e+10 bytes) *
Memory available for all arrays:       60021 MB (6.294e+10 bytes) *
Memory used by MATLAB:        3337 MB (3.499e+09 bytes)
Physical Memory (RAM):       65189 MB (6.836e+10 bytes)

*  Limited by System Memory (physical + swap file) available.

ユーザーに焦点を当てたメモリ情報を構造体 user で返します。その構造体を使用して、MATLAB プロセス用に予約されているメモリ量を表示します。

user = memory;
disp(user.MemUsedMATLAB)
   3.4986e+09

ユーザーに焦点を当てたメモリ情報とシステムに焦点を当てたメモリ情報をどちらも返します。

[user,sys] = memory
user = struct with fields:
    MaxPossibleArrayBytes: 6.2927e+10
    MemAvailableAllArrays: 6.2927e+10
            MemUsedMATLAB: 3.4986e+09

sys = struct with fields:
    VirtualAddressSpace: [1×1 struct]
           SystemMemory: [1×1 struct]
         PhysicalMemory: [1×1 struct]

PhysicalMemory 構造体の Available フィールドにアクセスし、コンピューター上の利用可能な物理メモリ量を表示します。

disp(sys.PhysicalMemory.Available)
   5.4366e+10

出力引数

すべて折りたたむ

ユーザーに焦点を当てたメモリ情報。構造体として返されます。userview には次の 3 つのフィールドがあります。

フィールド名フィールドの値
MaxPossibleArrayBytes

最大の連続利用可能メモリ ブロックのサイズ。これは、MATLAB が現時点で作成できる、最大配列のサイズの上限です。

フィールドの値は次の 2 つの値のうち小さい方です。

  • MATLAB のバーチャル アドレス空間で見つかった最大の連続利用可能メモリ ブロック

  • 利用可能なシステム メモリの合計

この数が表す配列要素の数を確認するには、配列クラスのバイト数で割ります。たとえば、double 配列であれば、8 で割ります。MATLAB が作成できる実際の要素数は、常にこの数より小さくなります。

MemAvailableAllArrays

データを保持するために利用可能な合計メモリ。利用可能なメモリ量は、少なくともこの値と同じ値となることが保証されます。

フィールドの値は次の 2 つの値のうち小さい方です。

  • 利用可能な MATLAB バーチャル アドレス空間の合計

  • 利用可能なシステム メモリの合計

MemUsedMATLAB

MATLAB プロセス用に予約されている合計システム メモリ。

システムに焦点を当てたメモリ情報。構造体として返されます。systemview には次の 3 つのフィールドがあります。

フィールド名フィールドの値
VirtualAddressSpace

Available フィールドと Total フィールドをもつスカラー構造体。

  • Available フィールドの値は、MATLAB プロセスのために利用可能なバーチャル メモリ量です。

  • Total フィールドの値は、MATLAB プロセスのための合計バーチャル メモリ量です。

SystemMemory

Available フィールドをもつスカラー構造体。Available フィールドの値は利用可能なシステム メモリ量であり、コンピューター上で利用可能な物理メモリ量と利用可能なスワップ ファイル容量が含まれます。

PhysicalMemory

Available フィールドと Total フィールドをもつスカラー構造体。

  • Available フィールドの値は、コンピューター上で利用可能な物理メモリ (RAM) 量です。ディスク上のページング ファイルを必要とせずにアクセスできるデータ量の判断基準として、この値を使用できます。

  • Total フィールドの値は、コンピューター上の合計物理メモリ量です。

詳細

すべて折りたたむ

表示されるメモリ情報

memory は以下の値をコマンド ウィンドウに表示します。レポートされる値はすべて double 型であり、バイト単位で表現されます。

  • Maximum possible array: 最大の連続利用可能メモリ ブロックのサイズ

  • Memory available for all arrays: データを保持するために利用可能な合計メモリ

  • Memory used by MATLAB: MATLAB プロセス用に予約されている合計システム メモリ

  • Physical Memory (RAM): コンピューター上の合計物理メモリ (RAM)

MATLAB は、値だけでなく次のステートメントも表示する場合があります。

*  Limited by System Memory (physical + swap file) available.

  • ステートメントが Maximum possible array に適用される場合、システム メモリが十分になく、MATLAB プロセスの最大利用可能ブロックでバーチャル アドレスをすべてマップできません。

  • ステートメントが Memory available for all arrays に適用される場合、システム メモリが十分になく、MATLAB プロセスで利用可能なバーチャル アドレスすべてはマップできません。

MATLAB で使用されるメモリ

MATLAB は Memory used by MATLAB のサイズを計算します。具体的には、MATLAB プロセス メモリ構造体を調べて、物理的ストレージがメモリまたはディスク上のページング ファイルに割り当てられたセクションをすべて合計します。

結果に影響する要因

実際のメモリ情報は、関数の呼び出し時に取得された情報と異なる場合があります。結果は、コンピューター ハードウェアやコンピューターの時変負荷によって異なります。

予約アドレス

予約アドレスは、将来何かに使用するためにプロセスのバーチャル アドレス空間で取り分けられています。この予約アドレスのおかげで Memory available for all arrays のサイズは減少し、Maximum possible array の現在または今後の値のサイズを減少させることができます。

たとえば、MATLAB 起動時に、MATLAB バーチャル アドレス空間の一部が Java® Virtual Machine (JVM™) によって予約されるので、MATLAB 配列の保存には使用することはできません。

R2008a で導入