Решение проблем, связанных с памятью

Внимание! Не изменяйте данные параметры самостоятельно. Обратитесь для этого в техническую поддержку.
  1. mem_tracking_flow — объем памяти для обработки IPv4 flow, который аллоцируется при старте СКАТ.
    Каждый обрабатываемый flow будет размещен в этой памяти и будет обработан в соответствии с определёнными в конфигурации политиками и правилами. Заполненность этого пула можно отслеживать в /var/log/dpi/fastdpi_stat.log (как описано здесь). Если пул будет исчерпан, то СКАТ уже не сможет обрабатывать новые flow.
  2. mem_preset — способ инициализации памяти в DPI.
    DPI выделяет память статически: при старте процесса и в момент создания некоторых профилей услуг (таких как NAT, черные и белые списки), в процессе работы дополнительная память не выделяется. Потребление памяти растет, так как ОС Linux различает резидентную (обозначена в top как RES) и виртуальную (обозначена в top как VIRT) память процесса, особенность в том, что пока память не инициализирована (фактически инициализирована нулем), то она не записывается Linux в резидентную и перемещается туда по мере ее инициализации.
    Настройка mem_preset=1 в файле /etc/dpi/fastdpi.conf позволяет DPI инициализировать почти всю выделенную память при старте процесса. Это предотвращает рост резидентной памяти (RES) в процессе работы, так как память сразу полностью инициализируется. Однако, этот режим замедляет старт системы и требует достаточного объема физической оперативной памяти. Рекомендуется учитывать этот фактор и следить за расходом виртуальной (VIRT) и резидентной (RES) памяти.
  3. 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).