lua内存监测和回收

Posted 冥府骑士格斯

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了lua内存监测和回收相关的知识,希望对你有一定的参考价值。

以下来自书籍《Cocos2d-x之Lua核心编程》

1.-----------------------------------------

若想查看程序当前的内存占用情况,可以使用Lua提供的collectgarbage。collectgarbage是Lua内部的垃圾回收模块对外提供的接口,可以用来监控或改变垃圾回收器的默认行为。

下面是一个collectgarbage使用的例子

print(collectgarbage("count"))
local test = {}
for i=1,10000 do
test[i] = {}
end
print(collectgarbage("count"))  --打印当前的内存使用情况
collectgarbage("collect")    --显示的回收内存
print(collectgarbage("count"))

运行结果
[LUA-print] 3333.828125
[LUA-print] 3902.38671875
[LUA-print] 2991.7509765625

2.-----------------------------------------

Cocos2d-lua的内存监控

打开src/config.lua,修改下面的值为true,控制台窗口就会每隔10秒打印出当前的内存占用情况。

-- dump memory info every 10 seconds
DEBUG_MEM = true

 

以上是关于lua内存监测和回收的主要内容,如果未能解决你的问题,请参考以下文章

垃圾回收简介

java垃圾回收机制

内存泄露监测工具

垃圾回收机制(GC)

内存监测2

Linux按照CPU内存磁盘IO网络性能监测转载