Как Яндекс выжимает мегабайты из колонок с Алисой: семплирующее профилирование в проде
Умные колонки с Алисой работают на скромном железе: у младших моделей всего 256 МБ оперативной памяти на всё устройство. За каждый мегабайт борются бизнес-логика, обработка звука и локальные нейросети. Чтобы понимать, куда уходит память, команда Яндекса ежедневно собирает и анализирует memory-дампы с миллионов колонок.
Сергей, разработчик прикладного кода на C/C++ для умных устройств (колонок, телевизоров, автомобилей), рассказал, как они построили инструмент для анализа потребления памяти в продакшене. Решение основано на семплирующем профилировании — это позволяет выявлять утечки и неэффективное использование ОЗУ без остановки устройства.
Подход уже применяется на всём флоте Linux-колонок. Инструмент помогает оптимизировать работу локальных нейросетей и других компонентов, что критично для устройств с жёсткими ограничениями по памяти.