-
void rb_gc_adjust_memory_usage(ssize_t diff) -
外部のライブラリが確保しているメモリの量を GC に伝えます。 GC はメモリが不足してくると動きますが、DLL が
mmap(2)などで確保したメモリのように、Ruby から見えないところでメモリ使用量が増減することがあります。そのような外部のメモリ確保をこの関数で登録すると、オブジェクト全体が使っているメモリの量を正しく見積もれるようになり、GC がより頻繁に動くようになります。この関数は GC を起動することがあります。メモリの使用量が増えたとき(ブロックの確保や、より大きなサイズへの再確保)は
diffに正の数を渡します。減ったとき(ブロックの解放や、より小さなサイズへの再確保)は負の数を渡します。- [PARAM]
diff: - メモリ使用量の増減です。増えたときは正、減ったときは負の数です。