I caught up with some readings in the latest LuaJIT.
It looks like we can even do away with the 2GB limit.

https://stackoverflow.com/questions/35155444/why-is-luajits-memory-limited-to-1-2-gb-on-64-bit-platforms

Would be nice if you can try that out in your setup (basically apply a
patch and re-build with LUAJIT_ENABLE_GC64)
If it works, we should definitely document it.

Thanks.

Kit

On Thu, Jun 20, 2019 at 1:35 PM Chou, Peter <pbc...@labs.att.com> wrote:
>
> Kit,
>
> This is the only error message seen from diags.log. It did not cause the ATS 
> to core dump.
>
> [Jun 20 13:27:45.258] traffic_server NOTE: plugin.config loading ...
> [Jun 20 13:27:45.259] traffic_server NOTE: loading plugin 
> '/home/pebc/opt/ats-gh-master/libexec/trafficserver/tslua.so'
> [Jun 20 13:28:14.337] traffic_server ERROR: [ts_lua_add_module] lua_pcall 
> /home/pebc/opt/ats-gh-master/etc/trafficserver/test-memory.lua failed: not 
> enough memory
> [Jun 20 13:28:14.337] traffic_server ERROR: [ts_lua][TSPluginInit] 
> ts_lua_add_module failed
> [Jun 20 13:28:14.337] traffic_server NOTE: plugin.config finished loading
>
> This is how much memory was allocated before the failure --
>
> [Jun 20 13:28:14.323] traffic_server DIAG: (ts_lua) Total bytes allocated = 
> 2071552000 bytes
> [Jun 20 13:28:14.323] traffic_server DIAG: (ts_lua) Garbage Collector reports 
> = 2024154.9023438 MB
>
> Modified the Lua script as follows --
>
> function __init__(argtb)
>    count = 0
>    t = {}
>    max = 2100
>
>    FH = io.open("/dev/urandom", "rb")
>
>    for i = 1, max, 1 do
>       t[i] = FH:read(1024000)
>       count = count + string.len(t[1])
>       if i > 2000 then
>          ts.debug("Total bytes allocated = " .. count .. " bytes")
>          ts.debug("Garbage Collector reports = " .. collectgarbage("count") 
> .. " MB")
>       end
>    end
>
>    io.close(FH)
>
> end
>
> Thanks,
> Peter
>
> -----Original Message-----
> From: Shu Kit Chan <chanshu...@gmail.com>
> Sent: Wednesday, June 19, 2019 11:32 PM
> To: dev <dev@trafficserver.apache.org>
> Subject: Re: Lua plugin memory limit on Linux.
>
> Thanks for the info.
>
> That's good to know. Have you tried how much more you can allocate?
> And when you are over the limit, what is the message you are getting?
>
> Perhaps we can update the doc with this information.
>
> Kit
>
> On Wed, Jun 19, 2019 at 12:01 PM Chou, Peter <pbc...@labs.att.com> wrote:
> >
> > Kit,
> >
> > Did not hear back from you regarding the memory limit for the Lua plugin on 
> > Linux.
> >
> > Previously, I had tested on the command line with the luajit executable, 
> > but I have completed some testing with the ATS master branch.
> >
> > I am running with Ubuntu 18.04 LTS Server 64-bit which ships with 'LuaJIT 
> > 2.1.0-beta3'.
> >
> > Using the following configuration, I got good results, able to allocated up 
> > to 2GB memory.
> >
> > plugin.config -
> >
> > tslua.so --states=1 test-memory.lua
> >
> > test-memory.lua -
> >
> > function __init__(argtb)
> >    count = 0
> >    t = {}
> >    max = 2000
> >
> >    FH = io.open("/dev/urandom", "rb")
> >
> >    for i = 1, max, 1 do
> >       t[i] = FH:read(1024000)
> >       count = count + string.len(t[1])
> >    end
> >
> >    io.close(FH)
> >
> >    ts.debug("Total bytes allocated = " .. count .. " bytes")
> >    ts.debug("Garbage Collector reports = " .. collectgarbage("count") .. " 
> > MB")
> > end
> >
> > Result -
> >
> > pebc@piplup2:~/opt/ats-gh-master/bin$ ./traffic_server -V
> > Traffic Server 9.0.0 Jun 18 2019 14:16:03 piplup2
> > traffic_server: using root directory '/home/pebc/opt/ats-gh-master/'
> > Apache Traffic Server - traffic_server - 9.0.0 - (build # 061814 on Jun 18 
> > 2019 at 14:16:03)
> > pebc@piplup2:~/opt/ats-gh-master/bin$ ./traffic_server
> > Traffic Server 9.0.0 Jun 18 2019 14:16:03 piplup2
> > traffic_server: using root directory '/home/pebc/opt/ats-gh-master/'
> > [Jun 19 11:54:42.681] traffic_server DIAG: (ts_lua) Total bytes allocated = 
> > 2048000000 bytes
> > [Jun 19 11:54:42.681] traffic_server DIAG: (ts_lua) Garbage Collector 
> > reports = 2001149.2382813 MB
> >
> > Appreciate it if you could take a look and validate these results.
> >
> > Thanks,
> > Peter

Reply via email to