zoukankan      html  css  js  c++  java
  • 深入理解java虚拟机

    第四章:java虚拟机命令行工具

    1:jps命令行进程状况工具      jps [options] [hostid]

    C:Userslenovo>jps -l
    13824 sun.tools.jps.Jps
    14224 org.jetbrains.jps.cmdline.Launcher
    8528 org.jetbrains.idea.maven.server.RemoteMavenServer
    12660 org.jetbrains.jps.cmdline.Launcher
    7316
    11544
    236 com.li.SpringBootLabApplication   //主类

    2:jstat 用于监视虚拟机各种运行状态信息的命令行工具。包括类装载,内存,垃圾收集,JIT编译等数据

    jstat [option vmid [interval [s|ms][count]]]    

    option 代表用户希望查询的虚拟机信息

    例如每250毫秒查询一次进程236的垃圾回收信息,查询20次

    3:jinfo 打印java配置信息

          打印进程

    jinfo 236的信息
    C:Userslenovo>jinfo 236
    Attaching to process ID 236, please wait...
    Debugger attached successfully.
    Server compiler detected.
    JVM version is 25.161-b12
    Java System Properties:
    
    java.runtime.name = Java(TM) SE Runtime Environment
    java.vm.version = 25.161-b12
    sun.boot.library.path = D:softwarejdkjdk8jdk1.8.0_161jrein
    java.vendor.url = http://java.oracle.com/
    java.vm.vendor = Oracle Corporation
    path.separator = ;
    file.encoding.pkg = sun.io
    java.vm.name = Java HotSpot(TM) 64-Bit Server VM
    sun.os.patch.level =
    sun.java.launcher = SUN_STANDARD
    user.script =
    user.country = CN
    user.dir = D:softwaregithubgithub下载laboratoryWeb
    java.vm.specification.name = Java Virtual Machine Specification
    PID = 236
    java.runtime.version = 1.8.0_161-b12
    java.awt.graphicsenv = sun.awt.Win32GraphicsEnvironment
    os.arch = amd64
    java.endorsed.dirs = D:softwarejdkjdk8jdk1.8.0_161jrelibendorsed
    org.jboss.logging.provider = slf4j
    line.separator =
    
    java.io.tmpdir = C:UserslenovoAppDataLocalTemp
    java.vm.specification.vendor = Oracle Corporation
    user.variant =
    os.name = Windows 10
    sun.jnu.encoding = GBK
    java.library.path = D:softwarejdkjdk8jdk1.8.0_161in;C:Userslenovo.gradlecachesmodules-2files-2.1org.ow2.asmasm5.0.3dcc2193db20e19e1feca8b1240dbbc4e190824faasm-5.0.3.jar;D:softwareideajideaIC-2017.3.4.winlibidea_rt.jar
    java.vm.specification.version = 1.8
    sun.arch.data.model = 64
    sun.java.command = com.li.SpringBootLabApplication
    java.home = D:softwarejdkjdk8jdk1.8.0_161jre
    user.language = zh
    java.specification.vendor = Oracle Corporation
    awt.toolkit = sun.awt.windows.WToolkit
    java.vm.info = mixed mode
    java.version = 1.8.0_161
    java.ext.dirs = D:softwarejdkjdk8jdk1.8.0_161jrelibext;C:WINDOWSSunJavalibext
    sun.boot.class.path = D:softwarejdkjdk8jdk1.8.0_161jrelib
    esources.jar;D:softwarejdkjdk8jdk1.8.0_161jreclasses
    java.awt.headless = true
    java.vendor = Oracle Corporation
    catalina.base = C:UserslenovoAppDataLocalTemp	omcat.6690132104814217884.9002
    file.separator = 
    java.vendor.url.bug = http://bugreport.sun.com/bugreport/
    sun.io.unicode.encoding = UnicodeLittle
    sun.cpu.endian = little
    sun.desktop = windows
    sun.cpu.isalist = amd64
    
    VM Flags:
    Non-default VM flags: -XX:CICompilerCount=3 -XX:InitialHeapSize=134217728 -XX:MaxHeapSize=2122317824 -XX:MaxNewSize=707264512 -XX:MinHeapDeltaBytes=524288 -XX:NewSize=44564480 -XX:OldSize=89653248 -XX:+UseCompressedClassPointers -XX:+UseCompressedOops -XX:+UseFastUnorderedTimeStamps -XX:-UseLargePagesIndividualAllocation -XX:+UseParallelGC
    Command line:  -javaagent:D:softwareideajideaIC-2017.3.4.winlibidea_rt.jar=50372:D:softwareideajideaIC-2017.3.4.winin -Dfile.encoding=UTF-8

    4:jmap: java内存映像工具

    例如显示 java堆详细信息

    jmap -heap 236

    C:Userslenovo>jmap -heap 236
    Attaching to process ID 236, please wait...
    Debugger attached successfully.
    Server compiler detected.
    JVM version is 25.161-b12
    
    using thread-local object allocation.
    Parallel GC with 4 thread(s)
    
    Heap Configuration:
       MinHeapFreeRatio         = 0
       MaxHeapFreeRatio         = 100
       MaxHeapSize              = 2122317824 (2024.0MB)
       NewSize                  = 44564480 (42.5MB)
       MaxNewSize               = 707264512 (674.5MB)
       OldSize                  = 89653248 (85.5MB)
       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 = 195035136 (186.0MB)
       used     = 71367536 (68.06138610839844MB)
       free     = 123667600 (117.93861389160156MB)
       36.592143069031415% used
    From Space:
       capacity = 17825792 (17.0MB)
       used     = 17497968 (16.687362670898438MB)
       free     = 327824 (0.3126373291015625MB)
       98.16095688763787% used
    To Space:
       capacity = 14155776 (13.5MB)
       used     = 0 (0.0MB)
       free     = 14155776 (13.5MB)
       0.0% used
    PS Old Generation
       capacity = 112197632 (107.0MB)
       used     = 23719728 (22.620895385742188MB)
       free     = 88477904 (84.37910461425781MB)
       21.1410237249927% used
    
    24236 interned Strings occupying 2896624 bytes.
    
    C:Userslenovo>

    5:jhat   虚拟机堆转储快照分析工具

    6:jstack:    java堆栈跟踪工具

    7: hsdis  JIT生成代码反汇编

    可视化工具:

    通过jdk/bin目录下的  jconsole.exe启动jconsole,将搜索出所有本地运行的虚拟机进程。

        

             选择一个进程进行监控: 可查看各个状态的信息

  • 相关阅读:
    p4 view mapping及其特殊字符
    Build Release Blogs
    Linux技术blogs
    为什么使用tmux
    linux下安装wine
    PythonDjango的windows环境
    tmux安装
    基于云端的开发平台Team Foundation Service
    linux网络配置之setup命令
    Centos6.2设置静态ip和dns
  • 原文地址:https://www.cnblogs.com/liyafei/p/9131020.html
Copyright © 2011-2022 走看看