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

h=09; m=30;(( tot = 10#$h * 60 + 10#$m )); echo $tot  

Число перед # основание (или основа)
Число после # должно быть допустимым для основания
Вывод является всегда десятичным
Можно использовать основание 2 - 64 (в ударе GNU 4.1.5)

Как отмечено enzoyib, старая альтернатива для $ [выражение] удерживается от использования, таким образом, лучше использовать совместимый POSIX $((expr))

$(( 2#1)) ==  1
$((16#F)) == 15
$((36#Z)) == 35  

Я не уверен, какие 'цифры' используются после Z

14
28.01.2012, 12:39
6 ответов

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

6
27.01.2020, 19:51

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

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

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

1
27.01.2020, 19:51

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

Вывод в качестве примера режима обзора VM:

 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
4
27.01.2020, 19:51
  • 1
    , почему существует ошибка для процесса 11272? –  akirekadu 29.04.2016, 01:35
  • 2
    @akirekadu Там является многими причинами. Наиболее распространенные являются несовместимым JDKs между jvmtop и целью jvm или недостаточными/отклоненными полномочиями. Посмотрите FAQ для деталей. –  MRalwasser 29.04.2016, 15:49
cd /opt/www/java/jdk/bin/

# jmap -heap <JAVA_PID>
6
27.01.2020, 19:51

Попробуй, это сработало в ubuntu и redhat:

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

Для windows:

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) 64-разрядная серверная виртуальная машина Java HotSpot (TM) (сборка 23.1-b03, смешанный режим)

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

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

Jconsole Screenshot

1
27.01.2020, 19:51

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

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

0
27.01.2020, 19:51

Теги

Похожие вопросы