Tarantool app内存限制

时间:2018-05-24 05:32:33

标签: lua tarantool

美好的一天 我是tarantool的新手,我对tarantool内部客户端应用程序的内存限制提出疑问 我有内存数据库用于3亿个项目和lua应用程序选择它们的一部分,选择我将结果包装到' '用于简化代码交互。例如:

Foo = {}
Foo.__index = Foo

function Foo.create(rawData)
    local self = setmetatable({}, Foo)

    self.PrimaryId = rawData[1]
    self.BarId     = rawData[2]

    local fields = rawData[3]
    self.Name    = fields[1]
    self.Date    = fields[2]

    return self
end

和用法:

local data = box.space.Foo.index.barId:select({barId})
local ctor = Foo.create
local foo = {}

for i = 1, #data do
    table.insert(foo, ctor(data[i]))
end

首次运行时大多数情况下它运行成功,但是第二次运行成功率为100%概率失败并显示消息(tarantool消息):

PANIC: unprotected error in call to Lua API (not enough memory)

据我所知,内存使用存在问题(非释放内存),但我对限制有疑问 - 是否对lua应用程序有一些限制?因为我在监视器中看到内存消耗并注意到有足够的可用内存并且在应用程序启动后出现失败使用超过1.2 Gb

1 个答案:

答案 0 :(得分:2)

相关问题