我正在使用
java version "1.7.0_85"
OpenJDK Runtime Environment (IcedTea 2.6.1) (7u85-2.6.1-5ubuntu0.14.04.1)
OpenJDK 64-Bit Server VM (build 24.85-b03, mixed mode)
目前要查看JVM选项值,我使用的是以下命令 java -XX:+ PrintFlagsFinal -version 它打印大约720个值 我知道这些值的含义以及它们分配的类型
但是,现在我想知道是否可以看到已启动特定java进程的JAVA选项(正在运行的进程的JAVA选项)
如果有任何可以提供我可以获得的详细信息。
提前致谢:)
答案 0 :(得分:1)
我不知道如何使用任何JDK工具(例如jcmd
)获取此类信息。
因此,您可以使用attach api自行编码,也可以使用工具。
可能的方法是使用jvm-tools(a.k.a.瑞士爪哇刀)。
获取其他进程的pid
jcmd -l
12345 sun.tools.jcmd.JCmd -l
6789 the.process.you.are.looking.for
使用sjk获取YoungPLABSize
java -jar sjk.jar mx \
-p 6789 \
-mc \
-b com.sun.management:type=HotSpotDiagnostic \
-op getVMOption \
-a YoungPLABSize
可能的输出
com.sun.management:type=HotSpotDiagnostic
name: YoungPLABSize
origin: DEFAULT
value: 4096
writeable: false
答案 1 :(得分:0)
实际上我找到了我需要的东西
我可以使用以下命令
ps aux | grep java 它给出了以下答案(包括所有已通过的选项)
andrews + 4940 1.1 16.9 4217936 1365804? Sl May30 37:08 / usr / bin / java -Xincgc -Xss500k -Dosgi.requiredJavaVersion = 1.6 -Xms512m -Xmx1024m -XX:NewSize = 8m -XX:PermSize = 128m -XX:MaxPermSize = 150m -XX:MaxPermHeapExpansion = 10m - XX:+ UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction = 70 -XX:+ UseCMSInitiatingOccupancyOnly -XX:+ UseParNewGC -XX:ParallelGCThreads = 2 -XX:+ CMSIncrementalPacing -XX:CMSIncrementalDutyCycleMin = 0 -XX:CMSIncrementalDutyCycle = 5 -XX:GCTimeRatio = 49 - XX:MaxGCPauseMillis = 20 -XX:+ UseCMSCompactAtFullCollection -XX:+ CMSClassUnloadingEnabled -XX:+ AggressiveOpts -Xverify:none -Dosgi.instance.area=@user.dir/Djava.net.preferIPv4Stack=true -jar / home / local /下载/ eclipse / plugins / org.eclipse.equinox.launcher_1.3.0.v20140415-2008.jar -os linux -ws gtk -arch x86_64 -showsplash -launcher / home / local / Downloads / eclipse / eclipse -name Eclipse --launcher .library /home/local/Downloads/eclipse/plugins/org.eclipse.equinox.launcher.gtk.linux.x86_64_1.1.200.v20140603-1326/eclipse_1605.so -startup / home / local / Downloads / eclipse / plug ins / org.eclipse.equinox.launcher_1.3.0.v20140415-2008.jar --launcher.overrideVmargs -exitdata 32000d -vm / usr / bin / java -vmargs -Xincgc -Xss500k -Dosgi.requiredJavaVersion = 1.6 -Xms512m -Xmx1024m - XX:NewSize = 8m -XX:PermSize = 128m -XX:MaxPermSize = 150m -XX:MaxPermHeapExpansion = 10m -XX:+ UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction = 70 -XX:+ UseCMSInitiatingOccupancyOnly -XX:+ UseParNewGC -XX:ParallelGCThreads = 2 -XX:+ CMSIncrementalPacing -XX:CMSIncrementalDutyCycleMin = 0 -XX:CMSIncrementalDutyCycle = 5 -XX:GCTimeRatio = 49 -XX:MaxGCPauseMillis = 20 -XX:+ UseCMSCompactAtFullCollection -XX:+ CMSClassUnloadingEnabled -XX:+ AggressiveOpts -Xverify:none -Dosgi .instance.area = @ user.dir / Djava.net.preferIPv4Stack = true -jar /home/local/Downloads/eclipse/plugins/org.eclipse.equinox.launcher_1.3.0.v20140415-2008.jar