Проблемы с лаком оперативной памяти - PullRequest
0 голосов
/ 07 ноября 2019

У меня проблемы с оперативной памятью на серверах, которые используют лак и только он (других приложений там нет). Каждая машина имеет 64 ГБ оперативной памяти, доступной для кэширования, и имеет три отдельных службы лака для разных бэкэндов. В настоящее время сумма оперативной памяти, выделенной для лака всех служб, составляет 24 ГБ ОЗУ на каждом сервере. Я хочу увеличить это значение до 48 ГБ (75% всей доступной памяти), но у меня есть некоторые проблемы.

Когда я пытался выделить 8 ГБ больше только для одной службы (32 ГБ от всех), выделенная памятьполучил пик до 70 ГБ ОЗУ (?). Более того, расширенный сервис перезапускался несколько раз после того, как 100% оперативной памяти было выделено для его предела (ошибка msg: дочерний процесс не отвечает на CLI, убивает его / dead signal = 6 / Panic message: Assert error in vbf_fetch_thread ()). Кроме того, службы используют много VSZ (размер виртуальной памяти), это нормально?

Ответы [ 2 ]

1 голос
/ 11 ноября 2019

Я изменил параметры jemalloc lg_dirty_mult и lg_chunk. Теперь я смог назначить 42 ГБ оперативной памяти для лака, а выделенная память теперь составляет около 60 ГБ. Основная задача лака состоит в том, чтобы обналичить изображения, и TTL установлен на 365d.

1 голос
/ 11 ноября 2019

Это может быть временная память, которая по умолчанию не ограничена, и мы будем использовать malloc в качестве хранилища. В стивидоре Transinet Varnish хранит объекты с TTL <10 с, поэтому, если у вас их много, вот что вы видите. </p>

Решение состоит в том, чтобы либо увеличить TTL, либо ограничить временное хранилище.

...