最近需要在 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工具进行系统性能监测相关推荐

  1. 深入理解Java虚拟机-如何利用 JDK 自带的命令行工具监控上百万的高并发的虚拟机性能...

    虚拟机系列文章 深入理解 Java 虚拟机(第一弹) - Java 内存区域透彻分析 深入理解 Java 虚拟机(第二弹) - 常用 vm 参数分析 深入理解 Java 虚拟机-如何利用 Visual ...

  2. 深入理解Java虚拟机-如何利用 JDK 自带的命令行工具监控上百万的高并发的虚拟机性能

    点击上方 好好学java ,选择 星标 公众号 重磅资讯.干货,第一时间送达 今日推荐:打卡活动第二期来啦,100% 能获得奖品个人原创+1博客:点击前往,查看更多 虚拟机系列文章 深入理解 Java ...

  3. 【JDK工具】jinfo、jps、jstack、jstat、jmap、jconsole

    目录 一.前言 二.关键工具 2.1 jps 显示所有JAVA进程信息 1. 参数信息 2. 常用命令 2.2 jinfo 查看虚拟机配置参数信息 1. 查看虚拟机参数 jinfo -flags pi ...

  4. jdk工具之JvisualVM、JvisualVM之一--(visualVM介绍及性能分析示例)

    转载:https://www.cnblogs.com/duanxz/p/3713773.html 1.1 Visual VM简介 VisualVM 提供在 Java 虚拟机 (Java Virutal ...

  5. 利用jdk自带的运行监控工具JConsole观察分析Java程序的运行 Jtop

    利用jdk自带的运行监控工具JConsole观察分析Java程序的运行 原文链接 一.JConsole是什么 从Java 5开始 引入了 JConsole.JConsole 是一个内置 Java 性能 ...

  6. 利用keytool工具生成数字证书

    一.制作数字证书  因测试微信小程序, 腾讯要求使用 https协议,所以需要使用证书.使用jdk工具制作数字证书流程如下: 1.查看JDK是否安装,使用命令java -version 2.切换目录至 ...

  7. 利用VisualEsxtop工具图形化查看esxtop参数

    怎样使用VisualEsxtop工具 众多VMware的工程师都知道esxtop/rextop在进行故障排查.性能检测的场景中的重要性:一般而言我们都可以通过各种shell工具连接到ESXI主机,默认 ...

  8. 利用VSTS工具自动测试

    一.选择开发工具 由于小组成员平时写代码都是用C语言或C++,所以我们选择visual stdio 2017作为小组的开发工具. 在产品中选择适用于学生.开放源代码和个体开发人员的免费.全功能型 ID ...

  9. android系统应用开发_利用ADB工具免root停用Android系统应用

    最近迷上了安卓的开发,写篇冻结app的教程吧. 主要是实现,免root冻结系统中的某些应用,你懂得哈哈 利用ADB工具免root停用Android系统应用 - Hanada​hanada.info 上 ...

最新文章

  1. linux系统CPU,内存,磁盘,网络流量监控脚本
  2. QCustomplot几种清理曲线数据方法
  3. 变压器符号_3D动画解析油浸式和干式变压器,看完让你秒懂
  4. 上传html 0字节,HTML ajax 上传文件限制文件的类型和文件大小
  5. LeetCode425——Add Strings(两个字符串中的数字相加(十进制或二进制),输出字符串形式的结果)
  6. netstat 命令 与 ps 命令
  7. 随机变量的数字特征(期望、方差、标准差、矩、协方差...)
  8. springboot 配置mybatis
  9. dicom worklist下载病例程序/dicom worklist scu (c#版本)
  10. 利用低代码从0到1开发一款小程序
  11. 基于SSM实现的超市管理系统
  12. JS入门到精通完整版
  13. 【深度学习技术】小样本医学影像的深度学习关键技术之深度模型的可解释性
  14. [软件工程] UML 用例图详解
  15. java魂斗罗_魂斗罗java源代码分享
  16. 高考之后,泪眼婆娑,爱很脆弱
  17. Subresource Integrity 介绍--SRI (Subresource Integrity) 的检查
  18. 关于android开发中startActivityForResult废弃的替换方法调用
  19. 重磅开讲 | 图灵奖得主—— Joseph Sifakis
  20. 部署Adobe Reader 9.41

热门文章

  1. 【组合数学】生成函数 ( 换元性质 | 求导性质 | 积分性质 )
  2. 【Android RTMP】安卓直播推流总结 ( 直播服务器搭建 | NV21 图像采集 | H.264 视频编码 | PCM 音频采集 | AAC 音频编码 | RTMP 包封装推流 )
  3. 数据库面试知识点汇总
  4. R语言与概率统计(六) 主成分分析 因子分析
  5. 20080826 - Delphi 2009 来了
  6. 雷林鹏分享:Ruby XML, XSLT 和 XPath 教程
  7. HihoCoder#1509 : 异或排序(二进制)
  8. Flask-Migrate
  9. 数据结构第二版之(课后题)BF算法病毒感染检测
  10. [中英对照]How PCI Works | PCI工作原理