Решение проблем, связанных с памятью
Внимание! Не изменяйте данные параметры самостоятельно. Обратитесь для этого в техническую поддержку.
mem_tracking_flow
— объем памяти для обработки IPv4 flow, который аллоцируется при старте СКАТ.
Каждый обрабатываемый flow будет размещен в этой памяти и будет обработан в соответствии с определёнными в конфигурации политиками и правилами. Заполненность этого пула можно отслеживать в/var/log/dpi/fastdpi_stat.log
(как описано здесь). Если пул будет исчерпан, то СКАТ уже не сможет обрабатывать новые flow.mem_preset
— способ инициализации памяти в DPI.
DPI выделяет память статически: при старте процесса и в момент создания некоторых профилей услуг (таких как NAT, черные и белые списки), в процессе работы дополнительная память не выделяется. Потребление памяти растет, так как ОС Linux различает резидентную (обозначена в top как RES) и виртуальную (обозначена в top как VIRT) память процесса, особенность в том, что пока память не инициализирована (фактически инициализирована нулем), то она не записывается Linux в резидентную и перемещается туда по мере ее инициализации.
Настройкаmem_preset=1
в файле/etc/dpi/fastdpi.conf
позволяет DPI инициализировать почти всю выделенную память при старте процесса. Это предотвращает рост резидентной памяти (RES) в процессе работы, так как память сразу полностью инициализируется. Однако, этот режим замедляет старт системы и требует достаточного объема физической оперативной памяти. Рекомендуется учитывать этот фактор и следить за расходом виртуальной (VIRT) и резидентной (RES) памяти.mem_ssl_parsers
— объем памяти для обработки SSL, который аллоцируется при старте СКАТ.
Явным признаком того, что текущего размера пула не хватает — наличие в/var/log/dpi/fastdpi_slave_*.log
ошибок вида:[ERROR ][000000118902699100][042E5F001EF5C480] Can't allocate record ssl_state : IP : <IP:port> --> <IP:port> [ERROR ][000000118902954180][042E5F001EF5C50B] Can't allocate record ssl_state_sni : IP : <IP:port> --> <IP:port>
Нехватка парсеров для SSL может привести к тому, что будет страдать обработка HTTPS трафика (может влиять на фильтрацию по спискам РКН).
При появлении подобных ошибок рекомендуется увеличивать значениеmem_ssl_parsers
в 1,5 - 2 раза (стоит учитывать объем свободной RAM).