获取ets表的项目数和内存使用量,T;我们可以使用
ets:info(T,size)
&分别为ets:info(T,memory)
。
同样,dict:size(D)
给出了dict的项目计数,D。
我们如何确定dict使用的内存量?
感谢。
答案 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)
)