Андрей Паньгин - Память Java процесса по полочкам

  Рет қаралды 74,393

JPoint, Joker и JUG ru — Java-конференции

JPoint, Joker и JUG ru — Java-конференции

Күн бұрын

Ближайшая конференция - JPoint 2025, 3-4 апреля (Москва + трансляция).
Подробности и билеты: jrg.su/T2zfbS
- -
. . . . Феерическая расстановка точек над тем, почему Джава жрёт память. Всё, что вы хотели знать, всё, о чём догадывались, и то, что будет сниться вам в кошмарах :) Самое главное - разобраны инструменты, с помощью которых можно увидеть и пощупать потребление памяти.
Означает ли JVM-параметр -Xmx4G, что процесс займёт не более 4-х гигабайт в системе? Разумеется, нет. На что ещё уйдёт виртуальная память и, главное, сколько? Вопрос становится особенно актуальным при разделении ресурсов между несколькими процессами или при запуске Java в контейнере.
Помимо самой виртуальной машины жадными до памяти оказываются библиотеки и пользовательские приложения. Но если утечку Java-объектов обычно легко выявить из хип-дампа, то утечка нативной памяти может поставить в тупик.
В докладе мы разберём, на какие структуры виртуальной машины расходуется оперативная память, как мониторить и регулировать её потребление. Изучим различные стратегии управления виртуальной памятью, выясним, что изменилось в новых версиях JDK. Рассмотрим реальные примеры утечек нативной памяти и познакомимся с инструментами для анализа аллокаций.

Пікірлер: 12
@razmus89dragovich20
@razmus89dragovich20 4 жыл бұрын
супер информативно!
@whereispie
@whereispie 3 жыл бұрын
Огонь тема, спасибо
@JochenRU
@JochenRU 5 жыл бұрын
На работе писал прогу из 2 частей: логгер gc и gccapacity для 7-8 Java-процессов нашего софта, и анализатор этих логов (ищет пики, выводит лог событий). До сих пор не могу понять, почему GC срабатывает при юзадже от 40 до 60 процентов от хмх, а не 80 хотя бы. Хз что делать с этим анализом правда
@mtuliakova
@mtuliakova 5 жыл бұрын
Спасибо за лекцию! Мало ли у кого-то будет подобная проблема : Пробовала запустить профилирование памяти с ключом -e malloc -> вылетало с ошибкой "perf_event_open failed: No such file or directory". В итоге отказалось что яро старое и на нем просто нет perf_events. (ядро 2.6.32-754.23.1.el6.x86_64 )
@Recentqawon
@Recentqawon 4 жыл бұрын
А где можно найти розписаную иерархию памяти, кроме документации?
@pvlnsk1
@pvlnsk1 8 ай бұрын
Про xms неточность в 10:30. Всё же xms это начальный и минимальный размер хипа. Поэтому когда xms равен xmx размер хипа не изменяется.
@learning867
@learning867 5 ай бұрын
Он сказал про это ведь, что xms = xmx не означает, что хип не может стать меньше... Он может. Дальше не смотрел что ли
@pvlnsk1
@pvlnsk1 5 ай бұрын
​@@learning867я про его неточность и написал. xms это начальный и минимальный размер кучи, меньше чем значение xms хип быть не может.
@МаксимАлексеев-ч4й
@МаксимАлексеев-ч4й 3 ай бұрын
​@@pvlnsk1, может...
Никита Липский, Владимир Иванов - JVM: краткий курс общей анатомии
57:38
JPoint, Joker и JUG ru — Java-конференции
Рет қаралды 76 М.
Евгений Борисов - Spring - Глубоко и не очень
1:03:57
JPoint, Joker и JUG ru — Java-конференции
Рет қаралды 161 М.
快乐总是短暂的!😂 #搞笑夫妻 #爱美食爱生活 #搞笑达人
00:14
朱大帅and依美姐
Рет қаралды 9 МЛН
Family Love #funny #sigma
00:16
CRAZY GREAPA
Рет қаралды 61 МЛН
Hoodie gets wicked makeover! 😲
00:47
Justin Flom
Рет қаралды 127 МЛН
C++ Understand File Handing Basics
7:33
MDC IT Learner
Рет қаралды
8. Модель памяти
1:26:45
Computer Science Center
Рет қаралды 4,8 М.
Алексей Шипилёв - Прагматика Java Memory Model
1:55:22
JPoint, Joker и JUG ru — Java-конференции
Рет қаралды 122 М.
Шаблоны проектирования для микросервисов
1:07:50
Александр Бармин
Рет қаралды 31 М.
Алексей Шипилёв - ForkJoinPool в Java 8
1:40:01
JPoint, Joker и JUG ru — Java-конференции
Рет қаралды 75 М.
Алексей Шипилёв - Близкие Контакты JMM-степени
57:49
JPoint, Joker и JUG ru — Java-конференции
Рет қаралды 39 М.
Кирилл Толкачёв и Егений Борисов - Reactive или не reactive, вот в чем вопрос
1:05:56
JPoint, Joker и JUG ru — Java-конференции
Рет қаралды 42 М.
快乐总是短暂的!😂 #搞笑夫妻 #爱美食爱生活 #搞笑达人
00:14
朱大帅and依美姐
Рет қаралды 9 МЛН