AutoLISP のメモリの現在の状態を表示します。
サポートされているプラットフォーム: Windows および Mac OS
(mem)
引数はありません。
タイプ: nil
常に nil を返します。
mem 関数は、AutoLISP のメモリの現在の使用状態を表示します。この現在の状態のレポートの先頭行には、次の情報が表示されます。
AutoLISP が起動されてからのガベージ コレクション呼び出しの数
ガベージ コレクションに要した時間の合計(ミリ秒)
LISP オブジェクトは、動的(ヒープ)メモリに割り当てられます。動的(ヒープ)メモリはセグメントに編成され、ページに分割されています。
動的メモリのページ サイズ(キロバイト)
使用されているページの数
未使用の(空の)ページの数
未使用ページの最大連続領域
割り当てられているセグメントの数
このセグメントに割り当てられたオブジェクトの種類。これには、次のものがあります。
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