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