测量Erlang中dict使用的内存

Cha*_*gwu 2 memory erlang dictionary

为了得到ets表的项目数和内存使用量,T; 我们可以使用

ets:info(T,size)&ets:info(T,memory)分别.

同样,dict:size(D)给出dict的项目计数D.

我们如何确定dict使用的内存量?

谢谢.

Hyn*_*dil 8

Dict是正常的Erlang术语,因此它存储在进程堆中并且是垃圾收集的对象.您通常会更关心进程内存使用情况而不是dict本身.您可以使用确定内存使用情况erlang:process_info/2.如果你仍然对dict术语占用的大小感兴趣,你可以使用erts_debug:size/1,如果你想知道发送消息时使用的内存erts_debug:flat_size/1.请注意,这两个函数返回单词的大小,因此根据使用的VM,多次4或8个字节.(即32或64位VM,使用erlang:system_info(wordsize))