zoukankan      html  css  js  c++  java
  • 测试开发进阶——Jdk—相关命令认识——常用命令简介

    1、jps

    查看java进程,得到进程ID:7854

    作用等同于:ps -ef | grep java

     

     

     

     

    2、jstat

    监视虚拟机各种运行态信息

    常用:jstat -gcutil PID,监视java堆状况

    远程机器上无法直接使用jstat命令,解决方法参考:https://wiki.sankuai.com/pages/viewpage.action?pageId=841802032

    chroot --userspec=99:99 / sh -c 'jstat -gcutil 7854'的输出如下:

    S0:Survivor0区已使用空间的百分比

    ​S1:Survivor1区已使用空间的百分比

    ​E:Eden区已使用空间的百分比

    ​O:老年代已使用空间的百分比​

    P:永久代已使用空间的百分比​

    YGC:从应用程序启动到采样时发生Young GC的次数

    ​YGCT:从应用程序启动到采样时Young GC所用的时间(单位秒)

    ​FGC:从应用程序启动到采样时发生Full GC的次数

    ​FGCT:从应用程序启动到采样时Full GC所用的时间(单位秒)​

    GCT:从应用程序启动到采样时发送GC的总时间(单位秒)

     

     

     

    3、jstack

    生成虚拟机当前时刻的线程快照

    jstack PID | grep 16进制线程ID查看线程信息

    比如要到java进程中最消耗CPU的那个线程的信息:

    (1)top -Hp 7854

    找到最耗CPU的线程ID是7975

    (2)printf '%x ' 7975

    把该线程ID转为16进制,为1f27

    (3)chroot --userspec=99:99 / sh -c 'jstack 7854 | grep -A 20 1f27'

    输出线程的堆栈信息

    可以看到是cat中的程序

    C:myproject>jar
    用法:jar {ctxu}[vfm0Mi] [jar-文件] [manifest-文件] [-C 目录] 文件名 ...
    选项:
        -c  创建新的存档
        -t  列出存档内容的列表
        -x  展开存档中的命名的(或所有的〕文件
        -u  更新已存在的存档
        -v  生成详细输出到标准输出上
        -f  指定存档文件名
        -m  包含来自标明文件的标明信息
        -0  只存储方式;未用ZIP压缩格式
        -M  不产生所有项的清单(manifest〕文件
        -i  为指定的jar文件产生索引信息
        -C  改变到指定的目录,并且包含下列文件:
    如果一个文件名是一个目录,它将被递归处理。
    清单(manifest〕文件名和存档文件名都需要被指定,按'm' 和 'f'标志指定的相同顺序。
    示例1:将两个class文件存档到一个名为 'classes.jar' 的存档文件中:
           jar cvf classes.jar Foo.class Bar.class
    示例2:用一个存在的清单(manifest)文件 'mymanifest' 将 foo/ 目录下的所有
               文件存档到一个名为 'classes.jar' 的存档文件中:
           jar cvfm classes.jar mymanifest -C foo/ .

  • 相关阅读:
    推荐系统和业务系统对比:
    认识事物的过程是:
    思考:面向对象源码的解析和阅读需要注意和把握的点
    推荐系统中ES使用过程中遇到的问题:
    使用缓存功能要掌握住(心里有数)的点:
    思考:延迟决策是非常重要的
    压力测试中tps上不去的原因
    mysql 高级查询二
    mysql 高级查询
    fiddler设置https抓包
  • 原文地址:https://www.cnblogs.com/xiaobaibailongma/p/15357368.html
Copyright © 2011-2022 走看看