美文网首页
LINUX查看JAVA进程的启动参数

LINUX查看JAVA进程的启动参数

作者: 明训 | 来源:发表于2019-01-28 12:47 被阅读0次

    问题说明

    为了分析和定位一个Java线上系统问题,我们需要查看JVM启动时的一些参数设置,例如:垃圾回收算法、堆大小等等。这些参数可能在启动脚本中明确指明,也可能采用默认值。在系统运行过程中其他人也许动态调整了系统参数。

    问题解决

    通过jps命令找对对应的进程号

    [root@swk-207 ~]# jps -lm |grep xk
    17743 /xxx/server/skynet/lib/skynet-cloud-xloader-2.1.0.1007.jar --skynet.action.jagent.file=/xxx/server/skynet/lib/jagent --skynet.action.boot.file=xk-process-1.1.1-SNAPSHOT-with-dependencies.jar --server.port=34969
    [root@swk-207 ~]# 
    

    通过PS命令获取

    [root@swk-207 ~]# ps eww 7364
      PID TTY      STAT   TIME COMMAND
     7364 ?        Sl   112:12 java -Dloader.path=/xxx/server/skynet/plugin/xk-proc/plugins -Djava.tmp.dir=/xxx/server/skynet/plugin/xk-proc/tmp -Djava.io.tmpdir=/xxx/server/skynet/plugin/xk-proc/tmp -Dfile.encoding=UTF-8 -Dxxx.dir.log=/xxx/server/skynet/plugin/xk-proc/logs -Dskynet.jagent.config.location.uri=http://10.5.3.207:6230/skynet/config/xk-proc@xk-proc?actionId=xk-proc@xk-proc -jar /xxx/server/skynet/lib/skynet-cloud-xloader-2.1.0.1007.jar --skynet.action.jagent.file=/xxx/server/skynet/lib/jagent --skynet.action.boot.file=xk-process-1.1.1-SNAPSHOT-with-dependencies.jar --server.port=45471 PATH=/usr/java/jdk1.8.0_112/bin:/usr/java/jdk1.8.0_112/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin HISTCONTROL=ignoredups HISTSIZE=1000 JAVA_HOME=/usr/java/jdk1.8.0_112 XFILESEARCHPATH=/usr/dt/app-defaults/%L/Dt LANG=en_US.UTF-8 XDG_SESSION_ID=2878 SELINUX_LEVEL_REQUESTED= JRE_HOME=/usr/java/jdk1.8.0_112/jre SELINUX_ROLE_REQUESTED= MAIL=/var/spool/mail/root LOGNAME=root PWD=/xxx/server/skynet/bin _=/usr/bin/nohup SHELL=/bin/bash LESSOPEN=||/usr/bin/lesspipe.sh %s SELINUX_USE_CURRENT_RANGE= SSH_CLIENT=10.5.3.207 33002 22 USER=root CLASSPATH=.:/usr/java/jdk1.8.0_112/lib/dt.jar:/usr/java/jdk1.8.0_112/lib/tools.jar SSH_CONNECTION=10.5.3.207 33002 10.5.3.207 22 HOSTNAME=swk-207 NLSPATH=/usr/dt/lib/nls/msg/%L/%N.cat XDG_RUNTIME_DIR=/run/user/0 HOME=/root SHLVL=2
    [root@swk-207 ~]# 
    
    

    通过JCMD命令获取

    [root@swk-207 ~]# jcmd 7364 VM.flags 
    7364:
    -XX:CICompilerCount=12 -XX:InitialHeapSize=1054867456 -XX:MaxHeapSize=16846422016 -XX:MaxNewSize=5615124480 -XX:MinHeapDeltaBytes=524288 -XX:NewSize=351272960 -XX:OldSize=703594496 -XX:+UseCompressedClassPointers -XX:+UseCompressedOops -XX:+UseFastUnorderedTimeStamps -XX:+UseParallelGC 
    

    通过JPS命令获取

    [root@swk-207 ~]# jps   -lmvV |grep 7364
    7364 /xxx/server/skynet/lib/skynet-cloud-xloader-2.1.0.1007.jar --skynet.action.jagent.file=/xxx/server/skynet/lib/jagent --skynet.action.boot.file=xk-process-1.1.1-SNAPSHOT-with-dependencies.jar --server.port=45471 -Dloader.path=/xxx/server/skynet/plugin/xk-proc/plugins -Djava.tmp.dir=/xxx/server/skynet/plugin/xk-proc/tmp -Djava.io.tmpdir=/xxx/server/skynet/plugin/xk-proc/tmp -Dfile.encoding=UTF-8 -Dxxx.dir.log=/xxx/server/skynet/plugin/xk-proc/logs -Dskynet.jagent.config.location.uri=http://10.5.3.207:6230/skynet/config/xk-proc@xk-proc?actionId=xk-proc@xk-proc
    

    通过JINFO命令获取

    [root@swk-207 ~]# jinfo -flags 7364
    Attaching to process ID 7364, please wait...
    Debugger attached successfully.
    Server compiler detected.
    JVM version is 25.112-b15
    Non-default VM flags: -XX:CICompilerCount=12 -XX:InitialHeapSize=1054867456 -XX:MaxHeapSize=16846422016 -XX:MaxNewSize=5615124480 -XX:MinHeapDeltaBytes=524288 -XX:NewSize=351272960 -XX:OldSize=703594496 -XX:+UseCompressedClassPointers -XX:+UseCompressedOops -XX:+UseFastUnorderedTimeStamps -XX:+UseParallelGC 
    Command line:  -Dloader.path=/xxx/server/skynet/plugin/xk-proc/plugins -Djava.tmp.dir=/xxx/server/skynet/plugin/xk-proc/tmp -Djava.io.tmpdir=/xxx/server/skynet/plugin/xk-proc/tmp -Dfile.encoding=UTF-8 -Dxxx.dir.log=/xxx/server/skynet/plugin/xk-proc/logs -Dskynet.jagent.config.location.uri=http://10.5.3.207:6230/skynet/config/xk-proc@xk-proc?actionId=xk-proc@xk-proc
    

    通过JMAP命令获取

    [root@swk-207 ~]# jmap -heap 7364
    Attaching to process ID 7364, please wait...
    Debugger attached successfully.
    Server compiler detected.
    JVM version is 25.112-b15
    
    using thread-local object allocation.
    Parallel GC with 18 thread(s)
    
    Heap Configuration:
       MinHeapFreeRatio         = 0
       MaxHeapFreeRatio         = 100
       MaxHeapSize              = 16846422016 (16066.0MB)
       NewSize                  = 351272960 (335.0MB)
       MaxNewSize               = 5615124480 (5355.0MB)
       OldSize                  = 703594496 (671.0MB)
       NewRatio                 = 2
       SurvivorRatio            = 8
       MetaspaceSize            = 21807104 (20.796875MB)
       CompressedClassSpaceSize = 1073741824 (1024.0MB)
       MaxMetaspaceSize         = 17592186044415 MB
       G1HeapRegionSize         = 0 (0.0MB)
    
    Heap Usage:
    PS Young Generation
    Eden Space:
       capacity = 89128960 (85.0MB)
       used     = 76264488 (72.73148345947266MB)
       free     = 12864472 (12.268516540527344MB)
       85.56645112879136% used
    From Space:
       capacity = 524288 (0.5MB)
       used     = 294912 (0.28125MB)
       free     = 229376 (0.21875MB)
       56.25% used
    To Space:
       capacity = 524288 (0.5MB)
       used     = 0 (0.0MB)
       free     = 524288 (0.5MB)
       0.0% used
    PS Old Generation
       capacity = 718274560 (685.0MB)
       used     = 41295448 (39.382408142089844MB)
       free     = 676979112 (645.6175918579102MB)
       5.74925666307881% used
    
    29846 interned Strings occupying 3647224 bytes.
    

    相关文章

      网友评论

          本文标题:LINUX查看JAVA进程的启动参数

          本文链接:https://www.haomeiwen.com/subject/yakajqtx.html