Size: a a a

2021 February 02

DL

Dmitry Lukovkin in Tarantool
Причем это не в логах тарантула
источник

AK

Anton Kiryushkin in Tarantool
Mons Anderson
В общем тут что бы пробовал я:
поднять какой-либо из инстансов без указания replication до состояния status = running
потом поднимать остальные. кто подключится — оставить, кто не сможет, тех на ребутстрап.

Но вообще стоит внять рекомендациям и обновиться до хотя бы 1.10.9.
Со времён 1.10.3 в виниле было исправлено очень много ошибок и проблем
спасибо!
источник

MA

Mons Anderson in Tarantool
Dmitry Lukovkin
Я просто почему спрашиваю, периодически(не часто) получаем сообщение "not enough memory" при новой попытке подключения по сети. Пытаюсь понять какой именно памяти ему мало
покажите box.cfg.readahead
источник

DL

Dmitry Lukovkin in Tarantool
Mons Anderson
покажите box.cfg.readahead
---
- 52428800
...
источник

DL

Dmitry Lukovkin in Tarantool
box.cfg.memtx_memory
---
- 2147483648
...

box.info.memory().net
---
- 19504940336
...
источник

MA

Mons Anderson in Tarantool
Dmitry Lukovkin
---
- 52428800
...
ну ни х** себе!
это запредельно много

поставьте 1048576 — 1Mb. Этого выше крыши почти всегда.
50 мегов это как-то совсем перебор
источник

DL

Dmitry Lukovkin in Tarantool
Mons Anderson
ну ни х** себе!
это запредельно много

поставьте 1048576 — 1Mb. Этого выше крыши почти всегда.
50 мегов это как-то совсем перебор
даже уже не вспомню когда выставили. Еще наверно в 1.7 версии игрались с настройками.
источник

MA

Mons Anderson in Tarantool
теоретически box.info.memory().net при 122 соединениях и таком readahead должен быть в районе 12 Gb. У вас показывает 19. Видимо туда входит ещё что-то.
Но в любом случае оно зависит от readahead
источник

MA

Mons Anderson in Tarantool
readahead параметр динамический, но сработает только для вновь установленных соединений
т.о. чтоб сбросить память нужно будет либо порестартить либо порвать все соединения
источник

DL

Dmitry Lukovkin in Tarantool
Mons Anderson
теоретически box.info.memory().net при 122 соединениях и таком readahead должен быть в районе 12 Gb. У вас показывает 19. Видимо туда входит ещё что-то.
Но в любом случае оно зависит от readahead
у него есть предел? Или берем из RAM сколько сможем, пока не кончится?
источник

MA

Mons Anderson in Tarantool
Dmitry Lukovkin
у него есть предел? Или берем из RAM сколько сможем, пока не кончится?
берёт пока не кончится.
а когда кончается, видимо будет out of memory и непринятие соединения
источник

DL

Dmitry Lukovkin in Tarantool
Mons Anderson
берёт пока не кончится.
а когда кончается, видимо будет out of memory и непринятие соединения
хм, но свободнвя RAM как бы есть еще...
источник

MA

Mons Anderson in Tarantool
мемори менеджмент сложная штука.
может он непрерывный диапазон найти не может....
источник

DL

Dmitry Lukovkin in Tarantool
Mons Anderson
мемори менеджмент сложная штука.
может он непрерывный диапазон найти не может....
об этом я не подумал. Но на сервере 74Gb Used of 125Gb Ram
источник

DL

Dmitry Lukovkin in Tarantool
Не думаю, что ему не хватает на новый коннект
источник

MA

Mons Anderson in Tarantool
про выделение памяти в TT лучше спрашивать кого-нибудь типа @a_lyapunov
источник

DL

Dmitry Lukovkin in Tarantool
А по самой формулировке "not enough memory"
Есть идеи кто так может говорить? ТТ обычно явно говорит чего ему не хватает
источник

MA

Mons Anderson in Tarantool
а можно всю строчку лога?
или это не в логе а со стороны коннектора?
источник

MA

Mons Anderson in Tarantool
а то в коде как-то не очень ищется...
[ entropy:mons ] ~/work/tarantool/src/tarantool-2.6/src $ ack 'not enough memory'
lua/fiber_channel.c
69:    luaL_error(L, "fiber.channel: not enough memory");
lua/fiber_cond.c
48:    luaL_error(L, "fiber.cond: not enough memory");
источник

DL

Dmitry Lukovkin in Tarantool
Mons Anderson
а можно всю строчку лога?
или это не в логе а со стороны коннектора?
это со стороны питоновского софта прилетает
"ret = await self.tnt.call_by_port(self.port, self.proc_name, args=self.args)"): (32, not enough memory)
источник