最近在项目中自感程序木有问题,也没有什么错误日志出来。但就是有人反映服务慢,有时连不上的情况。为了解决这么妖的问题只能去详细的看看运行中的程序到底出了什么情况,这时如果有个比较好的监控工具可以监控运行中的程序那就完美了。问了度娘才知道原来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. IOS 绘制基本图形(画文字、图片水印)

    - (void)drawRect:(CGRect)rect { // Drawing code // [self test]; // 1.加载图片到内存中 UIImage *image = [UIIm ...

  2. PMP(第六版)中的沟通方法总结与对比

  3. 2754: C++习题-快速排序

    2754: C++习题-快速排序 Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 921  Solved: 406[Submit][Status][Web ...

  4. 欠采样(undersampling)和过采样(oversampling)会对模型带来怎样的影响

    项目中出现了二分类数据不平横问题,研究总结下对于类别不平横问题的处理经验: 为什么类别不平横会影响模型的输出? 许多模型的输出类别是基于阈值的,例如逻辑回归中小于0.5的为反例,大于则为正例.在数据不 ...

  5. C#箴言之用属性来访问类的私有成员

    在程序中,难免要访问某个对象的私有成员.那么以前实现这类功能的方法有两种,第一种方法最简单,就是把成员访问符从“private”改为“public”即可:而另一个就是提供公有的成员访问函数来进行访问. ...

  6. Xcode Warning: “no rule to process file

    警告⚠️: warning: no rule to process file '/Users/Kingdev/Desktop/Git/finance_iOS/finance/Library/MBpro ...

  7. 理解Express 中间件

    Express 中间件 Express程序基本上是一系列中间件函数的调用.中间件就是一个函数, 接受 req.res.next几个参数. 中间件函数可以执行任何代码, 对请求和响应对象进行修改, 结束 ...

  8. 牛客小白月赛5 I 区间 (interval) 【前缀和】

    链接:https://www.nowcoder.com/acm/contest/135/I 题目描述 Apojacsleam喜欢数组. 他现在有一个n个元素的数组a,而他要对a[L]-a[R]进行M次 ...

  9. (转)为什么在 2013 十月番中出现了很多以 3D 渲染代替传统 2D 绘画来表现人物的镜头?

    一直都有的,特别是三次元这家公司一直致力于3d的风格化渲染既大家说的3d转2d.目前最厉害的商业化软件是pencil+,占领大部分的作品.而mentalray,早期用于disney的部分风格化渲染:i ...

  10. java util - json转换工具 gson

    需要 gson-2.7.jar 包 package cn.java.gson; import com.google.gson.JsonElement; import com.google.gson.J ...