为什么每次查询 mnesia 时我的内存消耗都会增加?
Why is my memory consumption going up every time I query mnesia?
每次我发出查询时,我的一些内存都会被占用,并且永远无法恢复。如果我发出 same 查询,则会用完更多内存。
例如,如果我发出此查询(然后将记录转换为地图):
CatchAll = [{'_', [], ['$_']}],
mnesia:dirty_select(read_store, CatchAll)
编辑:抱歉图片完全错误 - 它显示的是进程而不是查询
问题是我在 mnesia 表中存储的是字符串而不是二进制文件。
http请求结果为字符串:
httpc:request(get, {Url,[]}, [{timeout, ?TIMEOUT}], [])
但是,可以将其更改为二进制文件:
httpc:request(get, {Url,[]}, [{timeout, ?TIMEOUT}], [{body_format, binary}])
这将内存占用量减少了至少 20 倍。
每次我发出查询时,我的一些内存都会被占用,并且永远无法恢复。如果我发出 same 查询,则会用完更多内存。
例如,如果我发出此查询(然后将记录转换为地图):
CatchAll = [{'_', [], ['$_']}],
mnesia:dirty_select(read_store, CatchAll)
编辑:抱歉图片完全错误 - 它显示的是进程而不是查询
问题是我在 mnesia 表中存储的是字符串而不是二进制文件。
http请求结果为字符串:
httpc:request(get, {Url,[]}, [{timeout, ?TIMEOUT}], [])
但是,可以将其更改为二进制文件:
httpc:request(get, {Url,[]}, [{timeout, ?TIMEOUT}], [{body_format, binary}])
这将内存占用量减少了至少 20 倍。