测量Erlang中dict使用的内存

时间:2014-01-02 00:04:27

标签: memory dictionary erlang

获取ets表的项目数和内存使用量,T;我们可以使用

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

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

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

感谢。

1 个答案:

答案 0 :(得分:7)

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)