Инструмент командной строки для мониторинга кучи Java

14

Существует ли какой-либо инструмент командной строки для мониторинга использования размера кучи Java в CentOS?

Mughil
источник

Ответы:

6

Используйте jpsи, jstackчтобы узнать больше о процессах Java. jstatтакже может быть полезным для мониторинга статистики Java.

Никхил Мулли
источник
6
cd /opt/www/java/jdk/bin/

# jmap -heap <JAVA_PID>
Анураг Шарма
источник
возникла ошибка при его использовании: «Не удается подключиться к дампу ядра или удаленному серверу отладки. Вместо этого используйте jhsdb jmap». jhsdb jmap --heap --pid xxxxсделал
Том
4

jvmtop - это инструмент командной строки, который обеспечивает просмотр в реальном времени по нескольким показателям, включая кучу.

Пример вывода режима обзора виртуальной машины:

 JvmTop 0.3 alpha (expect bugs)  amd64  8 cpus, Linux 2.6.32-27, load avg 0.12
 http://code.google.com/p/jvmtop

  PID MAIN-CLASS      HPCUR HPMAX NHCUR NHMAX    CPU     GC    VM USERNAME   #T DL
 3370 rapperSimpleApp  165m  455m  109m  176m  0.12%  0.00% S6U37 web        21
11272 ver.resin.Resin [ERROR: Could not attach to VM]
27338 WatchdogManager   11m   28m   23m  130m  0.00%  0.00% S6U37 web        31
19187 m.jvmtop.JvmTop   20m 3544m   13m  130m  0.93%  0.47% S6U37 web        20
16733 artup.Bootstrap  159m  455m  166m  304m  0.12%  0.00% S6U37 web        46
MRalwasser
источник
почему возникает ошибка для процесса 11272?
akirekadu
@akirekadu Есть много причин. Наиболее распространенными являются несовместимые JDK между jvmtop и целевым jvm или недостаточные / запрещенные разрешения. Смотрите FAQ для деталей.
MRalwasser
1

Вы, вероятно, хотите проанализировать использование памяти.

GCView может помочь вам визуализировать то, что показывает GC-журнал.

Если вы уже включили gc-log, вы можете просто использовать его tail -f.

Nils
источник
1

Попробуйте это работает в Ubuntu и Redhat:

java -XX:+PrintFlagsFinal -version | grep -iE 'HeapSize|PermSize|ThreadStackSize'

Для окон:

java -XX:+PrintFlagsFinal -version | findstr /i "HeapSize PermSize ThreadStackSize"

Для Mac

java -XX:+PrintFlagsFinal -version | grep -iE 'heapsize|permsize|threadstacksize'

Вывод всех этих команд похож на вывод ниже:

uintx InitialHeapSize                          := 20655360        {product}
uintx MaxHeapSize                              := 331350016       {product}
uintx PermSize                                  = 21757952        {pd product}
uintx MaxPermSize                               = 85983232        {pd product}
 intx ThreadStackSize                           = 1024            {pd product}

Java-версия "1.7.0_05" Java (TM) SE Runtime Environment (сборка 1.7.0_05-b05) Java HotSpot (TM) 64-битная виртуальная машина сервера (сборка 23.1-b03, смешанный режим)

Чтобы найти размер в МБ, разделите значение на (1024 * 1024)

Для мониторинга использования оперативной памяти кучи используйте jconsole.

Скриншот Jconsole

padippist
источник
0

Вы также можете проверить этот инструмент https://github.com/TeoGia/jotun

это оболочка jstat и выводит кучу и использование оперативной памяти в формате json

sailorPeg
источник