小编e39*_*62r的帖子

如何在lua中处理这个内存泄漏?

我的机器是mac mini(2011)osx10.7.4

首先.我从lua.org下载lua-5.2.2,解压缩它,然后

$ make macosx
$ make install
Run Code Online (Sandbox Code Playgroud)

然后我跑了

$ lua
Lua 5.2.2  Copyright (C) 1994-2013 Lua.org, PUC-Rio
> 
Run Code Online (Sandbox Code Playgroud)

现在的内存使用量为816KB(来自Activity Monitor)

然后我输入以下代码用于malloc ...

a = {}
for i = 1, 999999 do
    a[i] = {}
end
Run Code Online (Sandbox Code Playgroud)

内存使用量增长到79.0MB

然后我输入下面的代码来表示dealloc ...

a = nil
collectgarbage("collect")
Run Code Online (Sandbox Code Playgroud)

内存使用量低至25.0MB

好.这是我的问题.

为什么剩下25MB?

如何释放或回收它们?

linux macos lua

5
推荐指数
1
解决办法
519
查看次数

如何在python中强制释放str?

在问题之前,我想对你说对不起,因为我不是英语,我的英语非常差.

我正在写一个python程序来读取一个字符串的文件,然后分析它,然后将它传递给其他程序.(它们不能用于流)

像这样的简单代码:

content = open("file").read()
if passItToA(content):
    A.portal(content)
del content
Run Code Online (Sandbox Code Playgroud)

问题是我读的字符串不会被释放.通常它会一直持续到过程结束.

我知道它是动态语言的一个特性.但是当我同时运行1000个重复进程时,它会导致大量内存浪费.

我可以在通话时发布吗?

python

0
推荐指数
1
解决办法
82
查看次数

标签 统计

linux ×1

lua ×1

macos ×1

python ×1