C mexでコンパイルされたファイルのメモリが不足しています(具体的には、を呼び出すとmxMalloc
returnが返されることがありますNULL
)。簡単な計算から、ファイルmxMalloc
には合計で約500 MBのメモリ(おそらく1 GB)が必要であると推定され、Matlabをほぼ排他的に実行する16GBのメモリを備えた64ビットLinuxマシンでファイルを実行します。それでも、かなり頻繁にmxMalloc
戻ります。NULL
これが発生する理由はいくつかあると思いますが(メモリの断片化など)、いずれにせよ、16GBのメモリマシンに500MBを要求することはそれほど多くないようです。
Matlabのヒープからメモリを要求するための呼び出しは、mxMalloc
100%確実ではないと思います(mxMalloc
要求は、OSによって直接ではなく、結局Matlabによって処理されます)。では、mexファイルの「ヒープ」サイズを増やす方法はありますか?
ありがとう