Java jcmd 命令动态修改 JVM 启动参数

JVM jcmd 诊断工具 About 1,547 words

说明

文中的12345为进程的pid

列出所有标志

Linux

jcmd 12345 VM.flags -all | grep manageable

Windows

jcmd 12345 VM.flags -all | findstr manageable

Java11为例

PS C:\WINDOWS\system32> jcmd 1000 VM.flags -all | findstr manageable
     intx CMSAbortablePrecleanWaitMillis           = 100                                    {manageable} {default}
     intx CMSTriggerInterval                       = -1                                     {manageable} {default}
     intx CMSWaitDuration                          = 2000                                   {manageable} {default}
     bool HeapDumpAfterFullGC                      = false                                  {manageable} {default}
     bool HeapDumpBeforeFullGC                     = false                                  {manageable} {default}
     bool HeapDumpOnOutOfMemoryError               = false                                  {manageable} {default}
    ccstr HeapDumpPath                             =                                        {manageable} {default}
    uintx MaxHeapFreeRatio                         = 70                                     {manageable} {default}
    uintx MinHeapFreeRatio                         = 40                                     {manageable} {default}
     bool PrintClassHistogram                      = false                                  {manageable} {default}
     bool PrintConcurrentLocks                     = false                                  {manageable} {default}

改变参数

FullGCDump出堆内存。

jcmd 12345 VM.set_flag HeapDumpAfterFullGC true
Views: 3,035 · Posted: 2021-09-18

————        END        ————

Give me a Star, Thanks:)

https://github.com/fendoudebb/LiteNote

扫描下方二维码关注公众号和小程序↓↓↓

扫描下方二维码关注公众号和小程序↓↓↓


Today On History
Browsing Refresh