• jvm监控


    jps

    [root@tomcat2 bin]# pwd
    /usr/java/jdk/bin
    //显示运行的所有java进程
    [root@tomcat2 bin]# jps
    7514 Jps  #jps也是java开发的,所以这里会显示出来
    

    jps (java virtual machine process status tool)监控ivm进程状态信息,可以理解为列出所有的java进程的pid号。

    jps [options] [hostid]

    • -m:输出传入main方法的参数

    • -l:显示main类或jar的完全限定名称

    • -v:显示为jvm虚拟机指定的参数,这一个挺有用,可以显示出分配的空间

    [root@tomcat2 bin]# pwd
    /usr/java/jdk/bin
    [root@tomcat2 bin]# jps -m
    8379 Jps -m
    [root@tomcat2 bin]# jps -l
    8391 sun.tools.jps.Jps
    [root@tomcat2 bin]# jps -l -v
    8403 sun.tools.jps.Jps -Dapplication.home=/usr/java/jdk -Xms8m
    

    jstack

    查看某个java进程内线程内的堆栈信息,通过jps命令列出java进程,然后通过jstack去查看进程的堆栈信息。

    //显示堆线的信息,会显示的非常详细
    jstack PID
    这些信息我们运维看不太懂,一些我们是在调优或排错的时候将输出信息交给程序员分析。
    

    选项:

    • -l 1ong listings:输出完成的锁信息:

    • -m:混合模式,即.

    在排错或调优时只可以通过jstack查看到底是哪段代码产生了锁导致了问题。

    通常会这样的情况,我们通过top观察到一个java进程特别消耗cpu,我们可以将其pid取出来,然后通过jstack来观察查看是哪段代码比较异常。

    jmap

    jmap:jvm memroy map,查看堆内存使用情况

    //查看堆内存使用情况
    jmap PID
    

    image-20200409152941162

    //详细查看堆内存使用情况,会把堆当中的新生代、老年代、持久代信息显示出来,比较有用
    jmap -heap PID 
    

    image-20200409153227353

    //详细显示堆空间的对象
    jmap -histo:live PID
    

    jstat

    jvm的统计监测工具

    //查看垃圾回收器的相关信息
    jstat -gc PID
    

    image-20200409154004964

    • 字段意义:s0C, SIC, Sou, S1U: C表示容量, U表示已用量,0和1指的就是from和to

    • EC, EU: eden区域的容量和已用量

    • oc, ou:老年代的信息

    • PC, PU:持久代的信息

    • YGC, YGT:新生代的GC次数和耗时

    • FGC, FGCT: FULL GC的次数和耗时

    • GCT: GC.总耗时

  • 相关阅读:
    Matlab quad
    卷积神经网络(CNN)代码实现(MNIST)解析
    Redis具体解释
    Nginx Https 配置
    Nginx 常用配置
    Nginx gzip压缩配置
    Nginx 静态资源配置
    Idea给类和方法增加注释模板
    MySql定时备份数据库
    Nginx 日志切割
  • 原文地址:https://www.cnblogs.com/yizhangheka/p/12667429.html
Copyright © 2020-2023  润新知