но малость постеснялся задать его тут, но все же задам :)
Проводил эксперимент, сколько можно создать файберов. Наткнулся на лимит.
Вот примерно такой код:
local fiber = require 'fiber'
local lock = fiber.cond()
local counter = 0
for i = 1, 32620 do
print(i)
fiber.create(function()
lock:wait()
fiber.sleep(1)
counter = counter + 1
end)
end
Если увеличить количество, то начинает падать с нехваткой памяти (что-то вроде fiber_mprotect: Cannot allocate memory). Смотрел документацию по настройке памяти, но так и не нашел, где и как указывать лимит по памяти не для движка memtx, а для lua и файберов. Не подскажете? Просто из этого факта вытекает, что файберами лучше не баловаться лишний раз...
Выдает вот такое сообщение: 2020-10-12 17:00:32.637 [17409] main/103/htt.lua fiber.c:206 !> SystemError fiber mprotect failed: Cannot allocate memory 2020-10-12 17:00:32.637 [17409] main fiber.c:206 !> SystemError fiber mprotect failed: Cannot allocate memory 2020-10-12 17:00:32.637 [17409] main F> fatal error, exiting the event loop
2гб, луажит 32битный
а какая система вообще? и какие лимиты по памяти может стоят в системе
Обсуждают сегодня