每次发出查询时,我的一些内存都会被吃掉,而且永远无法恢复。如果我发出相同的查询,则会耗尽更多内存。
例如,如果我发出此查询(以及稍后将记录转换为地图):
CatchAll = [{'_', [], ['$_']}],
mnesia:dirty_select(read_store, CatchAll)
编辑:抱歉,图片完全错误 - 它显示的是流程而不是查询
答案 0 :(得分:0)
问题是我在mnesia表中存储字符串而不是二进制文件。
http请求的结果是一个字符串:
httpc:request(get, {Url,[]}, [{timeout, ?TIMEOUT}], [])
但是,可以将其更改为二进制文件:
httpc:request(get, {Url,[]}, [{timeout, ?TIMEOUT}], [{body_format, binary}])
这将内存占用减少了至少20倍。