mem (AutoLISP)

AutoLISP のメモリの現在の状態を表示します。

サポートされているプラットフォーム: Windows および Mac OS

構文と要素

(mem)

引数はありません。

戻り値

タイプ: nil

常に nil を返します。

注意

mem 関数は、AutoLISP のメモリの現在の使用状態を表示します。この現在の状態のレポートの先頭行には、次の情報が表示されます。

GC calls

AutoLISP が起動されてからのガベージ コレクション呼び出しの数

GC run time

ガベージ コレクションに要した時間の合計(ミリ秒)

LISP オブジェクトは、動的(ヒープ)メモリに割り当てられます。動的(ヒープ)メモリはセグメントに編成され、ページに分割されています。

PgSz

動的メモリのページ サイズ(キロバイト)

Used

使用されているページの数

Free

未使用の(空の)ページの数

FMCL

未使用ページの最大連続領域

Segs

割り当てられているセグメントの数

Type

このセグメントに割り当てられたオブジェクトの種類。これには、次のものがあります。

lisp stacks—LISP の内部スタック

bytecode area—コンパイルされた関数モジュール コード

CONS memory—CONS オブジェクト

::new—タイプが不明なメモリ要求には、このセグメントが使用されます

DM Str—動的文字列の本体

DMxx memory—その他の LISP ノード

bstack body—入出力処理に使用される内部構造体

レポートの最後の行には、最小セグメント サイズと、割り当てられているセグメントの数が表示されます。メモリ要求に対するシステム コールを節約するために、AutoLISP は 3 つの未使用セグメントのみのリストを保持します。

すべてのヒープ メモリはグローバルです。つまり、すべての AutoCAD ドキュメントは、同じヒープを共有します。これは、AutoCAD の将来のバージョンで変更される可能性があります。

mem 関数は、オペレーティング システムから要求されたすべてのメモリをリストするわけではなく、AutoLISP Dynamic Memory(DM)サブシステムが要求したもののみをリストします。AutoLISP のクラスは、メモリの割り当てに DM を使用しません。

(mem)
; GC calls: 23; GC run time: 298 ms
Dynamic memory segments statistic:
PgSz  Used  Free  FMCL  Segs  Type
 512    79    48    48     1  lisp stacks
 256  3706   423   142    16  bytecode area
4096   320    10    10    22  CONS memory
  32   769  1213  1089     1  ::new
4096   168    12    10    12  DM Str
4096   222     4     4    15  DMxx memory
 128     4   507   507     1  bstack body
Segment size: 65536, total used: 68, free: 0
nil