问题一:config.lua的实现内部有个table缓冲所有的数据,这样写因为key不同,这个table会越来越大,所以到一定程度内存不足是肯定的,nvm库的应用场景是小数据量的简单键值对参数
问题二:像64K这样数据量比较大的数据可以直接通过io库读写文件来管理
问题三:lua虚拟机给出的660K数据是正在使用的内存的数据,此外还有虚拟机的垃圾内存数据是不显示的,你可以在输出内存统计之前强制进行完全的内存回收(collectgarbage(“collect”))再看看还有内存管理是有内存碎片的,如果碎片过多没有足够大小的连续内存可以满足申请要求也是会内存不足的,如果对这块有兴趣你可以多看下网上关于lua内存管理的介绍,luat对这块功能是完整移植,内存管理用的是dlmalloc