JDK 自带工具试用(一)
简述:
运维监控会用到JDK的小工具
说明:
1. jps
用来查看当前运行的Java进程
我在eclipse中起了一个web 应用
或者用jps -l 可以查看的更清楚一点
jps -v
看到10376之后用taskkill指令关闭
2. jstat
虚拟机统计信息监视工具
先用jps查看当前启动的应用
于是使用
- cd C:\Users\Administrator\Desktop\jvm monitor
gcutil 监视Java堆状况,主要关注已使用空间占总空间的百分比,包括Eden区,2个survivor区,老年代、永久代,已用空间、GC时间合计
- jstat -gcutil 8832 >>jstat_result.txt
查询结果表明
在新生代Eden区使用了37.15%的空间
S0, S1 , Survivor0, Survivor1
O : Old
P: Permanent
YGC: Young GC 程序运行以来总共发生16次GC, 共耗时YGCT 13.247秒
FGC: Full GC 2次 , 耗时GCT 1.1.02秒
GC总耗时: 14.349秒
3. jinfo
实时地查看和调整虚拟机各项参数
通过命令
- java -XX:+PrintFlagsFinal > printFlagsFinal_result.txt
获取当前的jvm信息,
从中可以看到
下面是调用system.getProperties() 的命令
- jinfo -sysprops 12408 > jinfo_result.txt
jinfo查看参数
试着修改 CMSInitiatingOccupancyFraction
(CMS, 一种以获取最短回收停顿时间为目标的收集器, 关于JVM内存管理 参看官方文档
http://www.oracle.com/technetwork/java/javase/memorymanagement-whitepaper-150215.pdf)
通过jinfo查询得到该参数
附(记录几个常用的参数):
-Xms 初始堆大小 默认物理内存的1/64(<1GB)
-Xmx 最大堆大小
-Xmn 年轻代大小 (Eden和两个Survivor区的合计大小)
-Xss 每个线程的堆栈大小
4. jmap
Java 内存映像工具
输入指令
- jmap -dump:format=b,file=jmap_result.bin 12408
于是会生成jmap_result.txt文件
需要在eclipse中安装Memory Analyzer插件
http://download.eclipse.org/mat/1.4/update-site/
进入Memory Analysis perspective
而后
File -> Open Heap Dump
选内存泄露模式,于是生成一张 饼状图
(这里是引入,之后具体的检测会有新的文章做阐述)
5. jconsole
进入jdk目录,
运行
出现界面,
JDK 自带工具试用(一)的更多相关文章
- JDK自带工具keytool生成ssl证书
前言: 因为公司项目客户要求使用HTTPS的方式来保证数据的安全,所以木有办法研究了下怎么生成ssl证书来使用https以保证数据安全. 百度了不少资料,看到JAVA的JDK自带生成SSL证书的工具: ...
- 利用JDK自带工具监控JVMCPU和内存指标
特别提示:本人博客部分有参考网络其他博客,但均是本人亲手编写过并验证通过.如发现博客有错误,请及时提出以免误导其他人,谢谢!欢迎转载,但记得标明文章出处:http://www.cnblogs.com/ ...
- [转]JDK自带工具之问题排查场景示例
最近看到了大量关于java性能调优.故障排查的文章,自己也写了一篇Java调优经验谈.接着此篇文章,其实一直打算写写一些常用调优工具以及它们的惯常用法的.后来在http://java-performa ...
- JDK自带工具之问题排查场景示例
最近看到了大量关于java性能调优.故障排查的文章,自己也写了一篇< Java调优经验谈 >.接着此篇文章,其实一直打算写写一些常用调优工具以及它们的惯常用法的.后来在http://jav ...
- jvm性能监控(3)-jdk自带工具 jps jstack jmap
一.概要: jps -l 查看现有的java进程 jps -l 显示所有正在运行的java进程id jstack 查看Java线程 jstack -l pid; 做thread dump ...
- JDK自带工具介绍
JDK工具一览表 工具名称 功能描述 appletviewer.exe 用于运行并浏览applet小程序. apt.exe 注解处理工具(Annotation Processing Tool),主要用 ...
- 利用JDK自带工具keyTool生成安全证书
前言:说一下最近做的工作,主要利用iText给网页中生成好的html报表转化为pdf格式的文件,并且在其中加入水印,数字签名等等,这部分主要介绍安全证书的目的就是为了做数字签名部分用的. 下面利用jd ...
- JDK自带工具列表
JDK是一个功能强大的Java开发套装,它不仅仅为我们提供了Java运行环境,还给开发人员提供了许多有用的开发组件(位于bin目录中,如下图所示).仅仅使用JDK,就能够解决我们在Java开发过程中遇 ...
- JDK自带工具一览表。妈妈再也不用担心你到处去下载小软件了~~
原来JDK早早就给我准备好了要用到的工具..反编译,JVM性能监视.诊断. JDK(Java Development Kit)是Java程序员最核心的开发工具,没有之一. JDK是一个功能强大的Jav ...
随机推荐
- HTML to DOM
Although you can now natively parse HTML using DOMParser and XMLHttpRequest, this is a new feature t ...
- 在js中使用createElement创建HTML对象和元素
1.创建链接 <script language="javascript"> var o = document.body; //创建链接 function createA ...
- vc6.0 通过ADO(udl)连接sql 2008
转载声明:本文转自http://blog.sina.com.cn/s/blog_7328b9dd0100pkbw.html茗之的博客 首先声明:本文是针对vc与sql菜鸟的,高人请让路. 本文讲解 ...
- C++ Bit Fields
http://msdn.microsoft.com/en-us/library/ewwyfdbe%28v=vs.71%29.aspx Note An unnamed bit field of widt ...
- Swift学习资源
原文: http://leancodingnow.com/swift-learning-resources/ Swift是Apple在今年的WWDC推出的一门新的编程语言,它的1.0版本跟着Xcode ...
- [MySQL复制异常]'Cannot execute statement: impossible to write to binary log since statement is in row format and BINLOG_FORMAT = STATEMENT.'
MySQL复制错误]Last_Errno: 1666 Last_Error: Error executing row event: 'Cannot execute statement: imposs ...
- Codeforces Round #188 (Div. 1) B. Ants 暴力
B. Ants Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/317/problem/B Des ...
- 使用foreach碰到的问题
foreach($list as $k=>$v ){ ........... } 和下面: foreach($list as &$v){ ........ } 其实两者的结果是一样的,但 ...
- 安卓开发之使用viewpager+fragment实现滚动tab页
闲着.用viewpager+fragment实现了个滚动tab..轻拍,以后会陆续发先小东西出来..爱分享,才快乐.demo见附件.. package com.example.demo; import ...
- Swift中的问号?和感叹号!
Swift语言使用var定义变量,但和别的语言不同,Swift里不会自动给变量赋初始值,也就是说变量不会有默认值,所以要求使用变量之前必须要对其初始化.如果在使用变量之前不进行初始化就会报错: var ...