1 © Luxoft Training 2013 Модуль 10 Мониторинг JVM Протокол JMX Инструмент JConsole – браузер MBeans 10-1 Администрирование JVM.

Презентация:



Advertisements
Похожие презентации
Администрирование информационных систем Начало работы с MS SQL Server 2000.
Advertisements

Протокол эмуляции удаленного доступа терминала Telnet.
Учитель информатики Трашков О.Л.. Обработка информации в компьютере и управление всеми его устройствами осуществляется с помощью программ. Компьютер представляет.
Программное обеспечение компьютера. Компьютер без программного обеспечения и операционной системы – это бесполезный хлам, груда железа.
1 © Luxoft Training 2013 Модуль 7 Введение Исследование классов 7-1 Механизм Reflection.
Проф. В.К.Толстых, Технологии разработки Internet- приложений Администрирование IIS 5, 6 сайт, виртуальный каталог, приложение, пул, рабочий.
Графический интерфейс и его объекты. Понятие графического интерфейса Термин «интерфейс» широко используется в областях, где человеку приходится иметь.
П ОДКЛЮЧЕНИЕ К УДАЛЕННЫМ РАБОЧИМ СТОЛАМ И ПРИЛОЖЕНИЯМ R EMOTE A PP Подготовила: студентка 2 курса 11 группы Направления «Государственное и муниципальное.
2 Точечная диаграмма Точечную диаграмму удобно использовать, когда необходимо проследить, как меняется одна величина (в данном случае сила тока I), в.
Программная инженерия Дмитриев Андрей Владиславович
Основные понятия операционной системы Windows. Что такое объект? Любой документ для ОС – объект, любая папка, пустая или содержащая в себе документы или.
Web-узлы. Разработка и администрирование.. Часть 1. Web-технология.
1 Стили текста. Шаблоны и мастера Занятие 6. 2 Изучив эту тему вы научитесь: Выводить на экран колонку стилей. Применять стили к тексту. Создавать новые.
Слезко Полина Сергеевна Учитель информатики Белоярской СОШ Томской области.
Программа Проводник 8 класс Яблоновская СОШ 3, Тахтамукайский район, Республика Адыгея Учитель информатики Нигматуллин Р.Р.
Сетевые службы Для конечного пользователя сеть это не компьютеры, кабели и концентраторы и даже не информационные потоки, для него сеть это, прежде всего,
Support.ebsco.com Управляемый расширенный поиск EBSCOhost Практическое занятие.
Реестр (Registry) – это база данных для хранения информации о системной конфигурации аппаратуры, о Windows и о приложениях Windows. Информация хранится.
:18 Графический интерфейс операционной системы и приложений.
Интегрированная среда разработки языкаVisual BasicИнтегрированная среда разработки языкаVisual BasicИнтегрированная среда разработки языкаVisual BasicИнтегрированная.
Транксрипт:

1 © Luxoft Training 2013 Модуль 10 Мониторинг JVM Протокол JMX Инструмент JConsole – браузер MBeans 10-1 Администрирование JVM

2 © Luxoft Training 2013 Мониторинг JVM Начиная с JRE 1.5 JVM получила средства локального и удаленного мониторинга Инструмент JConsole позволяет осуществить мониторинг и отобразить результаты в графическом виде 10-2 Введение

3 © Luxoft Training 2013 Мониторинг JVM JConsole позволяет осуществлять мониторинг локальных и удаленных Java приложений Для того, чтобы установить локальный мониторинг за приложением, оно должно быть запущено с специальным свойством: java -Dcom.sun.management.jmxremote App 10-3 Создание соединения

4 © Luxoft Training 2013 Мониторинг JVM Для того, чтобы установить удаленный мониторинг, необходимо установить следующий набор свойств: -Dcom.sun.management.jmxremote.port= -Dcom.sun.management.jmxremote.authenticate =false -Dcom.sun.management.jmxremote.ssl=false 10-4 Создание соединения

5 © Luxoft Training 2013 Мониторинг JVM Инструмент JConsole запускается из %JAVA_HOME%/bin с помощью команды jconsole В появившемся диалоге можно установить локальное или удаленное соединение с наблюдаемым приложением 10-5 Создание соединения

6 © Luxoft Training 2013 Мониторинг JVM Можно также установить мониторинг за самой JConsole Для этого необходимо запустить jconsole и ввести localhost:0 в диалоге установки удаленного соединения 10-6 Создание соединения

7 © Luxoft Training 2013 Мониторинг JVM После установки соединения JConsole отображает несколько закладок, позволяющих отследить тот или иной аспект поведения наблюдаемого приложения 10-7 Обзор JСonsole

8 © Luxoft Training 2013 Мониторинг JVM 10-8 Закладка Overview

9 © Luxoft Training 2013 Мониторинг JVM Heap Memory Usage: Used: сколько памяти используется для всех поколений Comitted: сколько всего системной памяти отведено для JVM Max: максимальное количество системной памяти, которую JVM может попросить у системы 10-9 Закладка Overview

10 © Luxoft Training 2013 Мониторинг JVM Threads: Live: текущее количество потоков управления, кроме Daemon потоков Peak: пиковое значение за период Total: полное количество потоков управления Закладка Overview

11 © Luxoft Training 2013 Мониторинг JVM Classes: Loaded: Количество классов, загруженных в данный момент Unloaded: количество классов, которые были выгружены GC Total: общее количество классов, которые были загружены за период (считая выгруженные) Закладка Overview

12 © Luxoft Training 2013 Мониторинг JVM CPU Usage: процент процессорного времени. Можно изменить период наблюдения, щелкнув на графике правой кнопкой Закладка Overview

13 © Luxoft Training 2013 Мониторинг JVM На этой закладке можно увидеть дополнительную информацию о пулах памяти: Закладка Memory

14 © Luxoft Training 2013 Мониторинг JVM Heap Memory Usage: суммарное использование памяти областями Eden, Survivor Spaces и Tenured Generation Закладка Memory

15 © Luxoft Training 2013 Мониторинг JVM Non-Heap Memory Usage: суммарная память, необходимая для : скомпилированных методов (code cache), Permanent Generation данного процесса, разделяемой между процессами Permanent Generation Поле GC time отображает время, затраченное на сборку мусора Кнопка Perform GC инициирует сборку мусора Закладка Memory

16 © Luxoft Training 2013 Мониторинг JVM Закладка Threads показывает текущее количество потоков выполнения, их пиковое значение (peak) Позволяет отследить список потоков управления, информацию о каждом потоке Закладка Threads

17 © Luxoft Training 2013 Мониторинг JVM Закладка Threads

18 © Luxoft Training 2013 Мониторинг JVM Можно отфильтровать потоки управления в списке, введя любую часть названия в поле Filter Выбрав нить в списке, можно получить информацию о: Название (из java.lang.Thread.getName(), или сформированное JVM) Закладка Threads

19 © Luxoft Training 2013 Мониторинг JVM Состоянии потока Total blockedсуммарное количество блокировок Total waitedсуммарное количество ожиданий Stack traceстек Java Закладка Threads

20 © Luxoft Training 2013 Мониторинг JVM Состояния: RUNNABLE WAITING on. Поток вызвал.wait() TIMED_WAITING on … то же самое, но wait() был со временем ожидания BLOCKED – поток заблокировался, пытаясь захватить объект синхронизации Закладка Threads

21 © Luxoft Training 2013 Мониторинг JVM TERMINATED – поток завершился или был завершен NEW – поток создан, но еще не начал выполняться Закладка Threads

22 © Luxoft Training 2013 Мониторинг JVM Закладка Summary

23 © Luxoft Training 2013 Мониторинг JVM Позволяет увидеть: Количество классов, загруженных в данный момент (Loaded) Общее количество классов, которые были загружены за период, считая выгруженные (Total Loaded) Количество классов, которые были выгружены Class loader (Total classes unloaded) Закладка Classes

24 © Luxoft Training 2013 Мониторинг JVM Чекбокс Verbose Output позволяет осуществить вывод имен загружаемых и выгружаемых классов Закладка Classes

25 © Luxoft Training 2013 Мониторинг JVM Закладка VM Summary

26 © Luxoft Training 2013 Мониторинг JVM Pending Finalization: количество объектов в Finalization Queue Total compile time: время, затраченное JIT на компиляцию Committed memory: память, запрошенная у системы под кучу Committed virtual memory: сколько памяти отведено системой под JVM Закладка VM Summary

27 © Luxoft Training 2013 Мониторинг JVM Library path: путь, откуда будут загружаться native-библиотеки ( java.lang.System.load()) и JVMTI-агенты. Под UNIX это LD_LIBRARY_PATH, под Windows PATH. Class path: CLASS_PATH Закладка VM Summary

28 © Luxoft Training 2013 Мониторинг JVM Boot class path: путь, откуда загружаются базовые классы. Устанавливается опцией - Xbootclasspath Закладка VM Summary

29 © Luxoft Training 2013 Мониторинг JVM JConsole взаимодействует с отслеживаемым приложением по протоколу JMX, который, в свою очередь, работает через протокол RMI Как работает JConsole

30 © Luxoft Training 2013 Мониторинг JVM При присоединении к виртуальной машине в ней запускается JMX-агент, использующий свой собственный реестр RMI (RMI registry). Этот агент создает управляющие объекты Как работает JConsole

31 © Luxoft Training 2013 Модуль 10 Мониторинг JVM Протокол JMX Инструмент JConsole – браузер MBeans Администрирование JVM

32 © Luxoft Training 2013 Протокол JMX JMX – технология, разработанная Sun (JSR 255) для упрощения разработки систем удаленного мониторинга и управления Java приложений Введение в JMX

33 © Luxoft Training 2013 Протокол JMX Варианты использования технологии JMX: просмотр и изменение конфигурации приложения сбор и публикация статистических данных о работе приложения извещение о каких-либо неверных изменениях состояния приложения Введение в JMX

34 © Luxoft Training 2013 Протокол JMX Архитектура JMX

35 © Luxoft Training 2013 Протокол JMX Архитектура технологии JMX строится на трехуровневой модели. Выделяются три логических слоя: Instrumentation (Probe) level Agent level Слой распределенных сервисов (Remote Management Level) Архитектура JMX

36 © Luxoft Training 2013 Протокол JMX Этот слой трактует приложение как один или несколько управляемых компонентов MBeanов (Managed Bean) Каждый MBean предоставляет возможность управлять своим состоянием с помощью общедоступных public-методов Слой instrumentation

37 © Luxoft Training 2013 Протокол JMX MBeanом может быть любой Java- объект, который должен быть модифицирован так, чтобы он поддерживал интерфейсы и семантику, определенную в спецификации JMX Слой instrumentation

38 © Luxoft Training 2013 Протокол JMX Агент (agent) предоставляет удаленный доступ к управлению приложением через зарегистрированный набор MBeanов Слой agent

39 © Luxoft Training 2013 Протокол JMX Основной компонент агента называется MBean-сервером и определяется интерфейсом javax.management.MBeanServer. Для того чтобы создать сервер, необходимо вызвать статический метод createMBeanServer() класса MBeanServerFactory Слой agent

40 © Luxoft Training 2013 Протокол JMX Этот слой обеспечивает интерфейс, который удаленные инструменты используют для взаимодействия с агентами Позволяет соединиться с MBeanServer с помощью Connectors и Adapters Приложения этого слоя могут быть общими (JConsole) или специфическими Слой распределенных сервисов

41 © Luxoft Training 2013 Протокол JMX Архитектура

42 © Luxoft Training 2013 Модуль 10 Мониторинг JVM Протокол JMX Инструмент JConsole – браузер MBeans Администрирование JVM

43 © Luxoft Training 2013 Мониторинг JVM Начиная с JDK 1.5 появился пакет java.lang.management, определяющий ряд Mbeanов, позволяющих осуществить мониторинг и управление приложением JConsole – браузер MBeans

44 © Luxoft Training 2013 Мониторинг JVM Стардартные MBeanы (platform MBeans): ClassLoadingMXBean CompilationMXBean GarbageCollectorMXBean MemoryManagerMXBean MemoryMXBean JConsole – браузер MBeans

45 © Luxoft Training 2013 Мониторинг JVM MemoryPoolMXBean OperatingSystemMXBean RuntimeMXBean ThreadMXBean JConsole – браузер MBeans

46 © Luxoft Training 2013 Мониторинг JVM Инструмент Jconsole – просмотрщик стандартных MBeanов (platform MBeans) управления и мониторинга приложения в удобной графической форме Закладка MBeans

47 © Luxoft Training 2013 Мониторинг JVM Кроме того, JConsole – универсальный инструмент просмотра MBean, позволяющий соединяться с произвольным MBean сервером Закладка MBeans

48 © Luxoft Training 2013 Мониторинг JVM Так, последняя закладка инструмента JConsole (MBeans) предоставляет графический интерфейс к platform MBeans JVM, а также к любым другим MBeanам, зарегистрированным в агентском слое Закладка MBeans

49 © Luxoft Training 2013 Мониторинг JVM Закладка MBeans

50 © Luxoft Training 2013Упражнение Упражнение 22 Использование инструмента JConsole

51 © Luxoft Training 2013 Модуль 10 Мониторинг JVM Протокол JMX Инструмент JConsole – браузер MBeans Администрирование JVM