[Java] Как отслеживать использование памяти CPU и загруженность диска в Java (перевод)
Автор
Сообщение
news_bot ®
Стаж: 7 лет 4 месяца
Сообщений: 27286
В этой статье, мы обсудим некоторые начальные команды, инструменты и методы, которые помогут отслеживать использование памяти CPU и загруженность диска в Java.Java инструменты наблюдают за конструкциями и процессами байткода Java. Профайлеры Java следят за всеми системными командами и использованием процессора. Это позволяет вам вызвать средства в любой момент.Стандартный профайлер предоставляет большой объем знаний, ценность которых зависит от назначения отладки. Некоторые инструменты лучше для объединения логов для всех приложений и серверов, таких как Stackify Retrace, настраивая и отслеживая автоматический лог запросов. Инструменты: Stackify’s Application Performance Management, Retrace - предлагают Java пользователям лучшее понимание устройства приложения при помощи внедренного логирования и профилирования кода. Вместе с внедренным централизованным и структурированным логированием, можно получить доступ ко всем логам приложения из единой точки для всех приложений и серверов.Здесь мы перечислили способы демонстрации памяти и отслеживания CPU в Java для оптимизации кода. 5 способов для наблюдения за памятью CPU и загруженностью диска в Java!
- Базовые Linux команды для отслеживания использования памяти CPU и загруженности диска a) free –m Команда передает доступную и занятую память вашей виртуальной машины.b) topЭта команда для просмотра использования CPU и памяти.

Когда вы введете 1 на клавиатуре, тогда top сработает и отобразит все возможные CPU и использование каждого.Всего 4 CPU - CPU0, CPU1, CPU2, CPU3 - и вся их статистика использования. 
c) meminfo и cpuinfo Используйте следующие команды для детальной информации относительно памяти и процессоров виртуальной машины.$cat /proc/cpuinfo $cat /proc/meminfo d) Память CPU и использование диска конкретного процесса.$ps -p [pid] -o %cpu,%mem,cmd 
Эта команда для отслеживания использования CPU и загруженности памяти методом приложения Java. Также отображает какие команды запустили процесс.e) Это статистика потока Java метода.$ps uH –p [pid] Эта команда предоставляет число потоков в процессе и их статистику.
Это показывает как много памяти и CPU использовано для каждой угрозы и как долго они работают.Когда приложение не отвечает, эти команды могут использоваться для выполнения предыдущих запросов, прежде чем переходить к памяти и дырам в потоках. Это важные команды для первоначального исследования кроме статистики памяти и CPU.df –k –> Для проверки места на дискеlsof -i :<port> –> Для проверки, является ли данный порт открытымlsof –i: tcp –> Все установленные и слушающие TCP подключенияnetstat -plunt –> Подключение к сети
- Отслеживание использования памятиДалее рассмотрим класс ManagementFactory для отслеживания использования памяти. Это реализовано путем запроса к MemoryMXBean. Раздел памяти куча необходим для использования MemoryMXBean:
MemoryMXBean memoryMXBean = ManagementFactory.getMemoryMXBean();
System.out.println(String.format(“Initial memory: %.2f GB”,
(double)memoryMXBean.getHeapMemoryUsage().getInit() /1073741824));
System.out.println(String.format(“Used heap memory: %.2f GB”,
(double)memoryMXBean.getHeapMemoryUsage().getUsed() /1073741824));
System.out.println(String.format(“Max heap memory: %.2f GB”,
(double)memoryMXBean.getHeapMemoryUsage().getMax() /1073741824));
System.out.println(String.format(“Committed memory: %.2f GB”,
(double)memoryMXBean.getHeapMemoryUsage().getCommitted() /1073741824));
Это пример возвращает исходную, используемую, максимальную и переданную память. Здесь идет описание каждой:Исходная: исходный концепт Java приложений из ОС в течение запускаИспользуемая: память, используемая JavaМаксимальная: большая часть памяти относится к JVM. OutOfMemoryException возникает, если память заполненаПереданная: объем памяти доступный JVM
- Нативный агент профилирования (-Agentpath)Некоторые профилируемые java инструменты построены на нативных библиотеках для Windows, Linux или masOS. -Agentpath - это виртуальная машина которая используется для настройки библиотеки инструментов.Например:java –agentpath:/usr/profiler/lib/[agent].so -jar application.jarПосле того как нативная библиотека инструментов спроектирована на удаленном сервере, интерфейс пользователя соединен с удаленным сервером для профилирования.Инструменты такие как JProfiler и Yourkit используют нативные инструменты профилирования.
- Java агент профилирования (-Javaagent)Агенты профилирования Java оснащены возможностью использования -javaagent виртуальной машины, как альтернатива. Вы можете создать легковесную программу в Java следуя следующим шагам:a) Оснащение программы требует разработки premain() системы b) Класс программы должен быть спроектирован как Pre-Main в MANIFEST.MF записи в данных JAR, где программа и ее зависимые классы создаютсяc) JVM начинается с –javaagenjava -javaagent:agent.jar -jar application.jarКласс агент premain() процесса выполняется до main() процесса использования, -javaagent представляет -jar. Если инструменты системы ожидают агент, для расположения после main() системы приложения, следующий шаг получить agentmain() метод в другом агент классе. Это следует сконструировать как Agent-Main класс в MANIFEST.MF записи.
- Агент библиотека (-Agentlib) -Agentlib - это виртуальная машина, использующаяся для упорядочения локальной библиотеки через JVM проект. Две главные причины по которым следуют использовать:1) Загрузка HPROF 2) Для контроля JVM в режиме отладки1) Использование HPROF: HPROF профилируют кучу и CPU, которые передаются рядом с Java. Это делает язык эффективным. –agentlib:hprof и –Xrunhprof обычно используются как параметры виртуальной машины с HPROF.JVM отслеживает данные относящиеся к профилям кучи, обозначенных концептов, трассировка стека в java.hprof.txt. java agentlib:hprof=heap=sites Hello.java HPROF может быть покрыт во время сборки, так разработчик может выявить серьезные проблемы.javac -J-agentlib:hprof=heap=sites Hello.java 2) Запуск приложения в режиме отладкиЗапуск приложения в режиме отладки подтверждается частью –agentlib:jdwp виртуальной машины. Это решение размещает внутрипроцессные архивы отладки JVM java -agentlib:jdwp=transport=dt_socket,address=127.0.0.1:9001, server=y,suspend=y –jar application.jar Этот параметр поддерживает отладку в приложении, использующим IDE.Простые шагиИспользуйте команды ограниченно/удаленно для метода отладки в Java. Приложение, которое отслеживает записи на указанном порту не переместится дальше пока шаг (ii) не завершится.Скриншот записи из приложения: Monitoring for transport dt_socket at address: 9001 Инициализируйте проект в IDE в режиме отладки и присоедините шифрование к хосту и порту.Отлаживайте код на единственном сервере с IDE.
===========
Источник:
habr.com
===========
===========
Автор оригинала: Kibo Hutchinson
===========Похожие новости:
- [Python, Программирование] Искусство написания циклов на Python (перевод)
- [JavaScript, Программирование, Scala] Ко-вариантность и типы данных
- [Мессенджеры, ООП, Функциональное программирование, Kotlin, Natural Language Processing] Распознавание команд
- [Разработка веб-сайтов, CSS, JavaScript, HTML, Node.JS] Как я сделал свою сборку Gulp для быстрой, лёгкой и приятной вёрстки
- [Разработка веб-сайтов, JavaScript, Программирование, Совершенный код] Погружение во внедрение зависимостей (DI), или как взломать Матрицу
- [Программирование, Julia, Искусственный интеллект, Data Engineering] Новая система автоматически очищает массивы ненадёжных данных (перевод)
- [Веб-дизайн, Разработка веб-сайтов, Платежные системы, JavaScript, Дизайн мобильных приложений] Создаём королевскую форму для приёма банковских карт
- [Разработка веб-сайтов, JavaScript, Клиентская оптимизация, HTML, VueJS] Проблемы рендера 7-и тысяч элементов на Vuetify
- [Ненормальное программирование, Assembler] Benchmark CPU's Instructions (just before loading the OS) — XCHG vs XOR, XOR, XOR
- [JavaScript, Программирование] Доступные текстовые метки для всех (перевод)
Теги для поиска: #_java, #_java, #_programmirovanie (программирование), #_java
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 16-Июн 18:57
Часовой пояс: UTC + 5
Автор | Сообщение |
---|---|
news_bot ®
Стаж: 7 лет 4 месяца |
|
В этой статье, мы обсудим некоторые начальные команды, инструменты и методы, которые помогут отслеживать использование памяти CPU и загруженность диска в Java.Java инструменты наблюдают за конструкциями и процессами байткода Java. Профайлеры Java следят за всеми системными командами и использованием процессора. Это позволяет вам вызвать средства в любой момент.Стандартный профайлер предоставляет большой объем знаний, ценность которых зависит от назначения отладки. Некоторые инструменты лучше для объединения логов для всех приложений и серверов, таких как Stackify Retrace, настраивая и отслеживая автоматический лог запросов. Инструменты: Stackify’s Application Performance Management, Retrace - предлагают Java пользователям лучшее понимание устройства приложения при помощи внедренного логирования и профилирования кода. Вместе с внедренным централизованным и структурированным логированием, можно получить доступ ко всем логам приложения из единой точки для всех приложений и серверов.Здесь мы перечислили способы демонстрации памяти и отслеживания CPU в Java для оптимизации кода. 5 способов для наблюдения за памятью CPU и загруженностью диска в Java!
=========== Источник: habr.com =========== =========== Автор оригинала: Kibo Hutchinson ===========Похожие новости:
|
|
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 16-Июн 18:57
Часовой пояс: UTC + 5