每次查询mnesia时,为什么我的内存消耗量会上升?

时间:2016-09-15 17:54:29

标签: erlang mnesia

每次发出查询时,我的一些内存都会被吃掉,而且永远无法恢复。如果我发出相同的查询,则会耗尽更多内存。

例如,如果我发出此查询(以及稍后将记录转换为地图):

CatchAll = [{'_', [], ['$_']}],
mnesia:dirty_select(read_store, CatchAll)

编辑:抱歉,图片完全错误 - 它显示的是流程而不是查询

1 个答案:

答案 0 :(得分:0)

问题是我在mnesia表中存储字符串而不是二进制文件。

http请求的结果是一个字符串:

httpc:request(get, {Url,[]}, [{timeout, ?TIMEOUT}], [])

但是,可以将其更改为二进制文件:

httpc:request(get, {Url,[]}, [{timeout, ?TIMEOUT}], [{body_format, binary}])

这将内存占用减少了至少20倍。