我有一个java程序,我运行它并用jps计算出它的进程id。如何查看这个java进程的-xms和-xmx变量的值?
ffvjumwh1#
您可以使用jps并从命令行执行此操作:
jps # shows pids jps -v <pid> # shows params jps -v <localhost:pid> # the host must be indicated
如果这还不够,您可以在程序内部以编程方式执行,以检查java虚拟机将尝试使用的最大内存量:
Runtime.getRuntime().maxMemory()
您还可以使用memoryusage类来获取可用于内存管理的初始、已用和最大amount。
MemoryMXBean memoryBean = ManagementFactory.getMemoryMXBean(); memoryBean.getHeapMemoryUsage().getMax() memoryBean.getHeapMemoryUsage().getUsed() memoryBean.getHeapMemoryUsage().getInit()
mutmk8jj2#
尝试
jcmd <PID> VM.command_line jcmd <PID> VM.flags
v7pvogib3#
我想 jmap 命令会给你想要的一切。用法:jmap-heap{pid}
jmap
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.
3条答案
按热度按时间ffvjumwh1#
您可以使用jps并从命令行执行此操作:
如果这还不够,您可以在程序内部以编程方式执行,以检查java虚拟机将尝试使用的最大内存量:
您还可以使用memoryusage类来获取可用于内存管理的初始、已用和最大amount。
mutmk8jj2#
尝试
v7pvogib3#
我想
jmap
命令会给你想要的一切。用法:jmap-heap{pid}