zoukankan      html  css  js  c++  java
  • Java线程及Jvm监控工具

    “昨天晚上很冷让我遇见你,你站在德克士门口等你男朋友,
    我站在你对面街上看了你那么久,
    你男朋友为何要对你发火,你俩走了好几条街为何他不把你的手放进他的衣兜里,
    为什么你男朋友要走在前面,为何一起吃饭不给你点干煸鱿鱼,为何晚上不送你回家,
    为何我最宝贝的一个人,在别人眼里就什么都不是了。”
    ——金玟岐《岁月神偷》

    Java线程状态

    线程的五种状态

    * 新建:new(时间很短)

    * 运行:runnable

    * 等待:waitting(无限期等待),timed waitting(限期等待)

    * 阻塞:blocked

    * 结束:terminated(时间很短)

    Jvm监控工具

    一、jstack

    介绍:

    jstack用于打印出给定的java进程ID或core file或远程调试服务的Java堆栈信息。
    如果是在64位机器上,需要指定选项"-J-d64",Windows的jstack使用方式只支持以下的这种方式:jstack [-l] pid
    如果java程序崩溃生成core文件,jstack工具可以用来获得core文件的java stack和native stack的信息,从而可以轻松地知道java程序是如何崩溃和在程序何处发生问题。
    另外,jstack工具还可以附属到正在运行的java程序中,看到当时运行的java程序的java stack和native stack的信息, 如果现在运行的java程序呈现hung的状态,jstack是非常有用的。

    使用:

    1、查看运行程序的进程号

    2、jstack dump当前线程状态

    3、根据当前抓取到的信息进行进一步的分析

    二、jvisualvm

    jdk自带有个jvisualvm工具、该工具是用来监控java运行程序的cpu、内存、线程等的使用情况。并且使用图表的方式监控java程序、还具有远程监控能力。

    前期准备

    1、上传tomcat到虚拟机,webapps下存在Prefteach包

    2、监控之前先对jvm加监控参数,在tomcat的bin目录下,catalina.sh文件中,搜索JAVA_OPTS=,在if里面,添加:

      -Dcom.sun.management.jmxremote.port=10086 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Djava.rmi.server.hostname=192.168.1.101
        以上添加的内容,需要修改两处
       1-改port
       2-改hostname为本机ip

    3、启动tomcat并打开输出日志:./startup.sh ../logs/catalina.out

    jvisualvm使用

    1、windows键+R键 输入jvisualvm回车

    2、右键远程添加远程主机

    3、在 主机ip 上右键添加jmv连接

    4、输入远程连接的端口号点击确定

    5、双击192.168.1.101:10086,打开如下图所示的界面

    6、进入jvisualvm时时查看程序运行状态

    注释:在测试环境中有可能没有权限在服务器上添加需要远程连接的配置,这样只能使用jstack

  • 相关阅读:
    leetcode 347. Top K Frequent Elements
    581. Shortest Unsorted Continuous Subarray
    leetcode 3. Longest Substring Without Repeating Characters
    leetcode 217. Contains Duplicate、219. Contains Duplicate II、220. Contains Duplicate、287. Find the Duplicate Number 、442. Find All Duplicates in an Array 、448. Find All Numbers Disappeared in an Array
    leetcode 461. Hamming Distance
    leetcode 19. Remove Nth Node From End of List
    leetcode 100. Same Tree、101. Symmetric Tree
    leetcode 171. Excel Sheet Column Number
    leetcode 242. Valid Anagram
    leetcode 326. Power of Three
  • 原文地址:https://www.cnblogs.com/hanxiaobei/p/5515404.html
Copyright © 2011-2022 走看看