利用JDK工具进行系统性能监测
最近需要在 Linux 系统上对 Java 的应用系统进行监测,就用到了 JDK1.5 附带的工具 jps ( Java Virtual Machine Process Status Tool ,查看 JVM 进程状态的工具), jstat(Java Virtual Machine Statistics Monitoring Tool ,运行数据监测工具 ) 以及 jstatd ( jstat 的 daemon 程序,利用 RMI 进行远程监控)。(建议可以使用 jvmstat 包,可视化的 jstat 监控工具,可以在 http://java.sun.com/performance/jvmstat/ 下载)
部署过程描述如下:
1. 在需要监测的机器(我这里是 Linux 机器)部署相关应用:
a) 在你需要进行监测的机器上安装 JDK1.5 (狂晕一阵子),别倒下(这个部分就不多说了,因为如果这里还要解释的话,那我就晕了)。
b) 正确设置 Java 的运行环境。
c) 启动 jstatd 进程。
命令如下: ./jstatd -J-Djava.security.policy=all.policy
一般来说呢,这里是会出现问题的,那就是 permission 的问题了,还好, Sun 的网站上给了相关的解决方法,方法如下,在 jdk/…/security/ java.policy 文件中添加下面的代码:
grant codebase "file:${java.home}/../lib/tools.jar" {
permission java.security.AllPermission;
};
然后重新启动 jstatd 进程。
d) 完了,别让人乱动就好了,我经常是不小心就按 CTRL+C 把程序关闭了。
2. 在客户端(监控者使用的机器)的操作:
a) 使用 jps 查看远端机器有哪些 JVM 进程在使用当中,命令如下:
jps 172.25.1.24 // 远端机器的 IP 地址或名称
屏幕输入如下:
13686 Jstatd
14115 XXXJavaServer
15117 Jserver
b) 从上面可以看到远端机器的 Jstatd 进程已经启动起来了。我们就可以使用 jstat 对相关进程的具体情况进行查看。
Jstat 命令用法如下:
jstat -<option> [-t] [-h<lines>] <vmid> [<interval> [<count>]]
解释如下:
Option 包括以下选项:
-class
-compiler
-gc
-gccapacity
-gccause
-gcnew
-gcnewcapacity
-gcold
-gcoldcapacity
-gcpermcapacity
-gcutil
-printcompilation
Vmid 就是 jps 查看到的进程 id ,如上 Jserver 的进程 id 是 15117 。
Interval 是时间间隔,单位为毫秒, 1000 就是一秒。
Count 就是需要查看的次数。
例子假设我们需要查看 172.25.1.24 机器 vmid 为 15117 的 gc 的情况,可以输入下面的命令:
jstat -gc 15117@172.25.1.24 1000 3
然后你能看到四行信息(一行为 title ,剩下的就是你要的信息了),仔细看看就可以发现很多信息的了(如果不明白,可以问我, 6-6 )。
c) 那么下面就开始配置可视化的监控包, jvmstat ,下载好了后,解压到任意目录。
执行 visualgc ,然后就可以看到可视化的监控窗口。不过,好像现在只提供 Linux 下的 visualgc 的启动脚本,所以在 Windows 下或者 Linux 最好使用我下面提供的方式:
在 Linux 下:
/usr/java/jdk1.5/bin/java –Xbootclasspath/p:” /usr/java/jdk1.5/lib/tools.jar” –jar jvmstat/jars/visualgc.jar vmid@server
在 Windows 下也一样,就是改改 jdk 的路径就好了。
成功执行后你就能看见一个 java 的监视窗口(样子还蛮专业的),这个时候就 可以开始监视了。
96堆栈 软件编程网,http://www.96dz.com,上面有很多编程教学的视频教程下载。C++视频教程、C#视频教程、Java视频教程下载。
转载于:https://www.cnblogs.com/Javalove/archive/2011/03/04/1971170.html
利用JDK工具进行系统性能监测相关推荐
- 深入理解Java虚拟机-如何利用 JDK 自带的命令行工具监控上百万的高并发的虚拟机性能...
虚拟机系列文章 深入理解 Java 虚拟机(第一弹) - Java 内存区域透彻分析 深入理解 Java 虚拟机(第二弹) - 常用 vm 参数分析 深入理解 Java 虚拟机-如何利用 Visual ...
- 深入理解Java虚拟机-如何利用 JDK 自带的命令行工具监控上百万的高并发的虚拟机性能
点击上方 好好学java ,选择 星标 公众号 重磅资讯.干货,第一时间送达 今日推荐:打卡活动第二期来啦,100% 能获得奖品个人原创+1博客:点击前往,查看更多 虚拟机系列文章 深入理解 Java ...
- 【JDK工具】jinfo、jps、jstack、jstat、jmap、jconsole
目录 一.前言 二.关键工具 2.1 jps 显示所有JAVA进程信息 1. 参数信息 2. 常用命令 2.2 jinfo 查看虚拟机配置参数信息 1. 查看虚拟机参数 jinfo -flags pi ...
- jdk工具之JvisualVM、JvisualVM之一--(visualVM介绍及性能分析示例)
转载:https://www.cnblogs.com/duanxz/p/3713773.html 1.1 Visual VM简介 VisualVM 提供在 Java 虚拟机 (Java Virutal ...
- 利用jdk自带的运行监控工具JConsole观察分析Java程序的运行 Jtop
利用jdk自带的运行监控工具JConsole观察分析Java程序的运行 原文链接 一.JConsole是什么 从Java 5开始 引入了 JConsole.JConsole 是一个内置 Java 性能 ...
- 利用keytool工具生成数字证书
一.制作数字证书 因测试微信小程序, 腾讯要求使用 https协议,所以需要使用证书.使用jdk工具制作数字证书流程如下: 1.查看JDK是否安装,使用命令java -version 2.切换目录至 ...
- 利用VisualEsxtop工具图形化查看esxtop参数
怎样使用VisualEsxtop工具 众多VMware的工程师都知道esxtop/rextop在进行故障排查.性能检测的场景中的重要性:一般而言我们都可以通过各种shell工具连接到ESXI主机,默认 ...
- 利用VSTS工具自动测试
一.选择开发工具 由于小组成员平时写代码都是用C语言或C++,所以我们选择visual stdio 2017作为小组的开发工具. 在产品中选择适用于学生.开放源代码和个体开发人员的免费.全功能型 ID ...
- android系统应用开发_利用ADB工具免root停用Android系统应用
最近迷上了安卓的开发,写篇冻结app的教程吧. 主要是实现,免root冻结系统中的某些应用,你懂得哈哈 利用ADB工具免root停用Android系统应用 - Hanadahanada.info 上 ...
最新文章
- linux系统CPU,内存,磁盘,网络流量监控脚本
- QCustomplot几种清理曲线数据方法
- 变压器符号_3D动画解析油浸式和干式变压器,看完让你秒懂
- 上传html 0字节,HTML ajax 上传文件限制文件的类型和文件大小
- LeetCode425——Add Strings(两个字符串中的数字相加(十进制或二进制),输出字符串形式的结果)
- netstat 命令 与 ps 命令
- 随机变量的数字特征(期望、方差、标准差、矩、协方差...)
- springboot 配置mybatis
- dicom worklist下载病例程序/dicom worklist scu (c#版本)
- 利用低代码从0到1开发一款小程序
- 基于SSM实现的超市管理系统
- JS入门到精通完整版
- 【深度学习技术】小样本医学影像的深度学习关键技术之深度模型的可解释性
- [软件工程] UML 用例图详解
- java魂斗罗_魂斗罗java源代码分享
- 高考之后,泪眼婆娑,爱很脆弱
- Subresource Integrity 介绍--SRI (Subresource Integrity) 的检查
- 关于android开发中startActivityForResult废弃的替换方法调用
- 重磅开讲 | 图灵奖得主—— Joseph Sifakis
- 部署Adobe Reader 9.41
热门文章
- 【组合数学】生成函数 ( 换元性质 | 求导性质 | 积分性质 )
- 【Android RTMP】安卓直播推流总结 ( 直播服务器搭建 | NV21 图像采集 | H.264 视频编码 | PCM 音频采集 | AAC 音频编码 | RTMP 包封装推流 )
- 数据库面试知识点汇总
- R语言与概率统计(六) 主成分分析 因子分析
- 20080826 - Delphi 2009 来了
- 雷林鹏分享:Ruby XML, XSLT 和 XPath 教程
- HihoCoder#1509 : 异或排序(二进制)
- Flask-Migrate
- 数据结构第二版之(课后题)BF算法病毒感染检测
- [中英对照]How PCI Works | PCI工作原理