Анализ дампов памяти Java. Ситников Владимир

1258

Ситников Владимир рассказывает детально о Java памяти и анализе дампов памяти Java-приложений.

  1. Java heap
  • Хранит Java объекты, их содержимое
  • Очищается сборщиком мусора
  • Заканчивается, если собрать не смогли
  1. Как понять, что память закончилась?
  • Видим в логах OutOfMamoryError – возможно наш случай
  1. Как анализировать память
  • Материал для анализа
  • Дамп памяти
  1. GC лог здорового человека
  2. GC log курильщика
  3. Как понять, кто создает объекты?
  4. Чем открывать дамп памяти?
  • Eclipde MAT наше все
  • VisualVM работает не быстро +
  • Java-object-layout только на микроуровне
  1. Class histogram
  2. Dominator Tree
  3. Алгоритм анализа дампов в Eclipse MAT
  4. Но как же автоматизация?
  5. Примеры, когда OQL пасует
  • Если в одной коллекции хранятся разнородные данные
  • Если данные разбиты по разным java-объектам
  1. Что бы хотелось
  2. Как сделать SQL?
  3. Где мы сейчас?