Beyond the OOM: Decoding Java Memory Behavior

Языки программирования и технические стеки

Оптимизация производительности
Профилирование
Технологии отказоустойчивости и катастрофоустойчивости, бэкапы
Оптимизация

Доклад принят в программу конференции

Мнение Программного комитета о докладе

Почему метрики ОС и JVM расходятся при анализе памяти? Михаил разберет страничный учет в Linux (RSS/PSS, COW, cgroups) и пулы JVM (heap, Metaspace, off-heap, стеки). На практическом кейсе: инструменты JVM показывают улучшение, метрики ОС — деградацию; разберем, где истина и как правильно измерять.

Целевая аудитория

Java Developer-ы и команды сопровождения Production систем. SRE Engineers и DevOps.

Тезисы

Бывает так, что при анализе потребления памяти приложения, разные инструменты продьюсят разные данные на первый взгляд противоречащие друг другу. Особенно это касается процессов ОС где задействован нетривиальный рантайм, как например в случае Java.

Доклад о том, как правильно анализировать память Java приложений и на какие вопросы в каких инструментах нужно искать ответы.

Разберем на практическом кейсе как устроена память процесса ОС в рамках физической RAM, как ОС виртуализирует память процессов, и как с этим всем работает JVM со своей стороны. Станет понятно, почему цифры, которые репортят NMT, VisualVM или Jconsole могут отличатся друг от друга. Поговорим о том, почему стандартных RSS, PSS и USS может быть недостаточно, и что с этим делать.

Spring Aio Community Board Member. Program Committee member of the "Spring Now" conference. Senior Software Engineer, contributor to Spring Open Source Projects. Terraform and AWS Certified.

Видео