乐鑫技术交流
直播中

毛萃

7年用户 884经验值
私信 关注
[问答]

内存不足但堆显示大约5kb可用是为什么?

我运行这个简单的循环来转储 lua 内存使用和堆,同时用对象填充数组 - 非常容易重现。
为什么它会在仍有大约 5kb 堆可用的情况下耗尽内存?我原以为它会在 100 以下时中断,因为添加到集合中的每个新创建的对象仅使用 48 个字节。
任何想法?这是一个错误吗?
代码:全选> a={} for i=1,1000 do print(i,collectgarbage(\'count\'),node.heap()) a={} tmr.wdclr() end
1       5.2666015625    21664
2       5.3447265625    21528
3       5.3759765625    21480
...
256     17.2666015625   5056
257     17.2978515625   5008
258     17.3291015625   4960
not enough memory

更多回帖

×
20
完善资料,
赚取积分