最近在项目中自感程序木有问题,也没有什么错误日志出来。但就是有人反映服务慢,有时连不上的情况。为了解决这么妖的问题只能去详细的看看运行中的程序到底出了什么情况,这时如果有个比较好的监控工具可以监控运行中的程序那就完美了。问了度娘才知道原来jdk已经给我们提供了非常多的监控工具,方便我们实时了解我们些程序哪出问题了。不得不说人家考虑的就是周全。下面就来介绍下几款自带的监控程序吧。

oracle jdk 自带非常多的小程序,可以进到%JAVA_HOME%\bin中查看

监控工具一:JvisualVm

1,在命令行中敲入JvsiualVm可以启动

      打开后进入页面

      打开后他会自动关联本机的已经运行的java程序,点击某个进入某个程序后可以了解选中程序的运行情况。

      2,当我们在使用JvisualVm做程序监控的时候,我们更多的是希望去监控远程服务器中程序,以便我们能做更好的分析。如果想去监控远程程序,前提需要远程程序支持才能连接的上去。那么我们就来看下如何配置程序以支持远程监控。

      进入到\jre\lib\management 目录下

      依赖jmxremote.password.template 生成*.password 文件

     这里我将他拷贝到/opt/service/jmx目录下,方便我统一管理

      cp jmxremote.access /opt/service/jmx/jmx.access

cp jmxremote.password.template /opt/service/jmx/jmx.password

      为避免访问权限问题,我们要确保他们有权限,可以使用命令:chmod 600 jmx.* 授权

      打开jmx.password 文件添加用户名和密码,用户名和密码之间使用空格分开,多个账号可以使用换行分开

例如:

      打开jmx.access 为添加的账号授权

      这些基础配置好后,我们来看下程序需要做哪些设置。

2.1 再启动参数中需要添加参数,开启远程监控的端口

以下是我写的一个测试脚本:

#!/bin/bash
opts="-Xmx256M -Djava.rmi.server.hostname=11.11.1.1 -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=8998 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=true -Dcom.sun.management.jmxremote.password.file=/opt/service/jmx/jmx.password -Dcom.sun.management.jmxremote.access.file=/opt/service/jmx/jmx.access"
java $opts -jar /opt/service/whroid-java-1.0-SNAPSHOT.jar &

      参数说明:

        -Djava.rmi.server.hostname=11.11.1.1        //远程服务器的ip地址
        -Dcom.sun.management.jmxremote.port=8998    //jmx开启的监控端口,必须保证没有被占用
        -Dcom.sun.management.jmxremote.ssl=false    //是否开启ssl验证
        -Dcom.sun.management.jmxremote.authenticate=true //是否需要验证
        -Dcom.sun.management.jmxremote.password.file=/opt/service/jmx/jmx.password  //账号存放的文件
        -Dcom.sun.management.jmxremote.access.file=/opt/service/jmx/jmx.access"     //账号权限管理

启动上面的脚本启动服务后,远程机器和程序已经支持了远程监控,使用JvisualVm链接既可以对启动的程序进行监控

监控二:jconsole

       服务器和程序按照上面的配置好后,也可以使用jconsole进行监控。
    启动方式和JvisualVm一样,改成Jconsole 既可以打开jconsole。
    同样使用上面的账号进行登录。

监控三:除上面两款可视化的监控工具外,jdk还提供了很多的命令小工具,可以通过相关命令了解程序的运行情况。

												

JAVA 程序监控基础简述的更多相关文章

  1. Java程序监控---Metrics

    概念 Metrics是一个给JAVA服务的各项指标提供度量工具的包,在JAVA代码中嵌入Metrics代码,可以方便的对业务代码的各个指标进行监控 目前最为流行的 metrics 库是来自 Coda ...

  2. 利用jdk中工具完成Java程序监控方法记录

    转载加自己整理的部分内容,转载自:http://jiajun.iteye.com/blog/810150 记录下JConsole使用方法 一.JConsole是什么    从Java 5开始 引入了 ...

  3. 使用eclipse编写和运行java程序(基础)

    1.首先java程序的运行你需要下载和安装JDK,这是java运行的必备环境. 2.在桌面上找到eclipes,双击打开. 3.在eclipes启动的过程中,会弹出一个窗口,让你填写java工作区的保 ...

  4. Java程序监控指标

    监控指标: 1.CPU平均使用率 2.内存平均使用率 3.应用程序错误数 4.应用程序请求量 5.应用平均响应时间 6.硬件I/O指标 7.JMX 7.1.Full gc count 7.2.Full ...

  5. java程序监控tomcat中部署的项目的状态以及控制某些项目的启动停止

    原文:http://blog.csdn.net/liuyuqin1991/article/details/49280777 步骤如下: ①:首先授权用户使获得这些权限 You can find the ...

  6. JAVA程序员工作常用英语(细心整理)

    基础----进阶 A. array数组accessible 可存取的 area面积audio 音频 addition 加法 action 行动 arithmetic 算法adjustment 调整 a ...

  7. 使用记事本开发第一个java程序

    记事本是开发java程序最基础的一个工具 第一步:编写 新建一个文件名为Hello的文本文档,并将文件扩展名改为.java. 在文本框内输入我们的程序代码 ——————————————我是分割线——— ...

  8. Java程序设计基础笔记 • 【第1章 初识Java】

    全部章节   >>>> 本章目录 1.1 程序的概念及Java语言介绍 1.1.1 生活中的程序 1.1.2 计算机程序 1.1.3 算法和流程图 1.1.4 实践练习 1.2 ...

  9. Java 监控基础 - 使用 JMX 监控和管理 Java 程序

    点赞再看,动力无限.Hello world : ) 微信搜「程序猿阿朗 」. 本文 Github.com/niumoo/JavaNotes 和 未读代码网站 已经收录,有很多知识点和系列文章. 此篇文 ...

随机推荐

  1. UVA 11990 ``Dynamic'' Inversion (序列分治)

    26天以前做过的一道题,之前的做法是分治预处理,树套树在线修改,复杂度为O(nlogn+m*logn*logn),代码量较大. 本来想学习一下cdq分治的,看到论文上的凸包.斜率就暂时放一边了,只知道 ...

  2. 【BZOJ2006】[NOI2010] 超级钢琴(堆+RMQ)

    点此看题面 大致题意: 要你求出区间和前\(k\)大的区间的区间和之和,其中每个区间的大小在\(L\)与\(R\)之间. 堆+\(RMQ\) 这道题目,我们可以先对\(1\sim n\)中的每一个\( ...

  3. 2018.5.17 oracle函数查询

    --*********函数*********** --1.显示当前日期 select sysdate from dual; --2.显示当前日期,格式为****年月日,别名为hday select t ...

  4. TypeScript task

    Ctrl+Shift+B 生成 js 文件.

  5. tk.mybatis Example 多个or条件拼接

    //需要的查询条件为 a and (b or c or d) 可以转换为 (a and b) or (a and c) or (a and d) private Example madeExample ...

  6. python查看安装包

    D:\Python27\Scripts>pip listbackports.ssl-match-hostname (3.4.0.2)basicauth (0.2)certifi (14.5.14 ...

  7. 16.2--Jenkins+Maven+Gitlab+Tomcat 自动化构建打包、部署

    分类: Linux服务篇,Linux架构篇   一.环境需求 本帖针对的是Linux环境,Windows或其他系统也可借鉴.具体只讲述Jenkins配置以及整个流程的实现. 1.JDK(或JRE)及J ...

  8. GNU汇编逻辑或算数左移右移

    lsl 左移 .text .global  _start _start: mov r1,#0b1 mov r1,r1,lsl#2 ROR循环右移 .text .global  _start _star ...

  9. ERROR L105: PUBLIC REFERS TO IGNORED SEGMENT 的解决办法

    今天接着写一个单片机程序,出现这个问题,我仔细查看每一句语句,发现逻辑上没有错误,但就是出现这个问题,不能生成目标文件: *** ERROR L107: ADDRESS SPACE OVERFLOW ...

  10. 03013_动态页面技术-JSP

    1.jsp的出现 2.jsp脚本和注释 (1)jsp脚本 ①<%java代码%> ----- 内部的java代码翻译到service方法的内部: ②<%=java变量或表达式> ...