JAVA 程序监控基础简述
最近在项目中自感程序木有问题,也没有什么错误日志出来。但就是有人反映服务慢,有时连不上的情况。为了解决这么妖的问题只能去详细的看看运行中的程序到底出了什么情况,这时如果有个比较好的监控工具可以监控运行中的程序那就完美了。问了度娘才知道原来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 程序监控基础简述的更多相关文章
- Java程序监控---Metrics
概念 Metrics是一个给JAVA服务的各项指标提供度量工具的包,在JAVA代码中嵌入Metrics代码,可以方便的对业务代码的各个指标进行监控 目前最为流行的 metrics 库是来自 Coda ...
- 利用jdk中工具完成Java程序监控方法记录
转载加自己整理的部分内容,转载自:http://jiajun.iteye.com/blog/810150 记录下JConsole使用方法 一.JConsole是什么 从Java 5开始 引入了 ...
- 使用eclipse编写和运行java程序(基础)
1.首先java程序的运行你需要下载和安装JDK,这是java运行的必备环境. 2.在桌面上找到eclipes,双击打开. 3.在eclipes启动的过程中,会弹出一个窗口,让你填写java工作区的保 ...
- Java程序监控指标
监控指标: 1.CPU平均使用率 2.内存平均使用率 3.应用程序错误数 4.应用程序请求量 5.应用平均响应时间 6.硬件I/O指标 7.JMX 7.1.Full gc count 7.2.Full ...
- java程序监控tomcat中部署的项目的状态以及控制某些项目的启动停止
原文:http://blog.csdn.net/liuyuqin1991/article/details/49280777 步骤如下: ①:首先授权用户使获得这些权限 You can find the ...
- JAVA程序员工作常用英语(细心整理)
基础----进阶 A. array数组accessible 可存取的 area面积audio 音频 addition 加法 action 行动 arithmetic 算法adjustment 调整 a ...
- 使用记事本开发第一个java程序
记事本是开发java程序最基础的一个工具 第一步:编写 新建一个文件名为Hello的文本文档,并将文件扩展名改为.java. 在文本框内输入我们的程序代码 ——————————————我是分割线——— ...
- Java程序设计基础笔记 • 【第1章 初识Java】
全部章节 >>>> 本章目录 1.1 程序的概念及Java语言介绍 1.1.1 生活中的程序 1.1.2 计算机程序 1.1.3 算法和流程图 1.1.4 实践练习 1.2 ...
- Java 监控基础 - 使用 JMX 监控和管理 Java 程序
点赞再看,动力无限.Hello world : ) 微信搜「程序猿阿朗 」. 本文 Github.com/niumoo/JavaNotes 和 未读代码网站 已经收录,有很多知识点和系列文章. 此篇文 ...
随机推荐
- IOS UIView动画(封装动画)
● UIKit直接将动画集成到UIView类中,当内部的一些属性发生改变时,UIView 将为这些改变提供动画支持 ● 执行动画所需要的工作由UIView类自动完成,但仍要在希望执行动画时通知视 图, ...
- Java后台调用gcc编译C语言代码
想做一个能够在线编译代码运行的平台,Java和SQL已经支持了,因为是用Java写的后台,所以Java和SQL挺容易就实现了,做到支持C的时候就卡住了,网上搜了一下这种帖子好像很少. 我采取的办法是就 ...
- ThreadLocal为什么要用WeakReference
先上一张图看一下ThreadLocal的内部结构,每个Thread对象内部都维护了一个ThreadLocal.ThreadLocalMap 我们在上图看到的就是三个Thread对象内部格子的Threa ...
- 四面体ply格式文件图和数据对应关系分析
通过一个简单的文件来理解ply格式的文件是有所帮助的,我在网上找了一个四面体的ply文件,我通过meshlab打开看到的效果如下所示,我录制成gif文件,希望可以从不同角度展示出来: 同时我截图少许, ...
- XAMPP安装过程中,出现的问题
这次运行一个简单的前端(html+css+js+ajax)+php后端项目,运行XAMPP的时候,出现两个问题: phpmyadmin运行不起来,一直报1544错误 请求本地图片及php文件报403错 ...
- mysql 5.7 编译安装脚本。
此脚本尽量运行在centos 服务器上面,用于编译安装mysql 5.7 将此脚本和相应的软件 都放到/usr/local/src 目录下面 由于不能上传附件 所以需要把cmake-3.9.6.ta ...
- linux系统快捷键使用
本文记录linux系统中快捷键的使用 Ctrl + l 清屏,相当于clear命令Ctrl + o 执行当前命令,并重新显示本命令Ctrl + s 阻止屏幕输出,锁定Ctrl + q 允许屏幕输出Ct ...
- JS进阶篇--JS数组reduce()方法详解及高级技巧
基本概念 reduce() 方法接收一个函数作为累加器(accumulator),数组中的每个值(从左到右)开始缩减,最终为一个值. reduce 为数组中的每一个元素依次执行回调函数,不包括数组中被 ...
- SourceTree 跳过登录注册,直接使用
SourceTree下载安装后,运行程序会要求你登录或注册账号才能使用, 然而登录或注册基本都收不到服务器的响应 (在国外嘛,安全起见),于是卡在此处无法使用了. 下面就来介绍一下跳过这尴尬环节的方法 ...
- php+croppic.js实现剪切上传图片
最近需要实现裁剪图片上传,想起之前公司用到的一个插件,却不知道叫什么名字了. 在网上找了有些时间,最终找到了这个网站. http://www.croppic.net/ 因为官网文档全部都是英文,所以看 ...