Команда для определения значений переменных -Xms и -Xmx для данного процесса Java?

У меня есть Java-программа, которую я запустил и выяснил ее идентификатор процесса с помощью JPS.

Как я могу узнать, каково значение переменных -Xms и -Xmx для этого процесса Java?

3 ответа

Решение

Пытаться

jcmd <PID> VM.command_line
jcmd <PID> VM.flags

Вы можете использовать jps и сделать это из командной строки:

jps # shows pids
jps -v <pid> # shows params
jps -v <localhost:pid> # the host must be indicated

если этого недостаточно, вы можете сделать это программно внутри программы, чтобы проверить максимальный объем памяти, который будет пытаться использовать виртуальная машина Java:

Runtime.getRuntime().maxMemory()

и вы также можете использовать класс MemoryUsage для получения начального, используемого и максимального количества, которое можно использовать для управления памятью.

MemoryMXBean memoryBean = ManagementFactory.getMemoryMXBean();
    memoryBean.getHeapMemoryUsage().getMax()
    memoryBean.getHeapMemoryUsage().getUsed()
    memoryBean.getHeapMemoryUsage().getInit()

Я думаю jmap Команда даст вам все, что вы хотите.
использование: jmap -heap {pid}

root@BobServerStation:/usr/local $ jmap -heap 3280
Attaching to process ID 3280, please wait...
Debugger attached successfully.
Server compiler detected.
JVM version is 24.65-b04

using thread-local object allocation.
Parallel GC with 8 thread(s)

Heap Configuration:
   MinHeapFreeRatio = 0
   MaxHeapFreeRatio = 100
   MaxHeapSize      = 4116709376 (3926.0MB)
   NewSize          = 1310720 (1.25MB)
   MaxNewSize       = 17592186044415 MB
   OldSize          = 5439488 (5.1875MB)
   NewRatio         = 2
   SurvivorRatio    = 8
   PermSize         = 21757952 (20.75MB)
   MaxPermSize      = 85983232 (82.0MB)
   G1HeapRegionSize = 0 (0.0MB)

Heap Usage:
PS Young Generation
Eden Space:
   capacity = 65011712 (62.0MB)
   used     = 42273152 (40.3148193359375MB)
   free     = 22738560 (21.6851806640625MB)
   65.0239021547379% used
From Space:
   capacity = 10485760 (10.0MB)
   used     = 10479760 (9.994277954101562MB)
   free     = 6000 (0.0057220458984375MB)
   99.94277954101562% used
To Space:
   capacity = 10485760 (10.0MB)
   used     = 0 (0.0MB)
   free     = 10485760 (10.0MB)
   0.0% used
PS Old Generation
   capacity = 171442176 (163.5MB)
   used     = 376368 (0.3589324951171875MB)
   free     = 171065808 (163.1410675048828MB)
   0.21953057805332568% used
PS Perm Generation
   capacity = 22020096 (21.0MB)
   used     = 15401488 (14.688003540039062MB)
   free     = 6618608 (6.3119964599609375MB)
   69.94287400018601% used

8464 interned Strings occupying 699456 bytes.
Другие вопросы по тегам