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 ...
随机推荐
- Libvirt 虚拟化库剖析
讲到向外扩展计算(比如云计算),libvirt 可能是您从未听说过的最重要的库之一.libvirt 提供一种虚拟机监控程序不可知的 API 来安全管理运行于主机上的来宾操作系统.libvirt 本身不 ...
- cocos2dx libcurl
转自:http://www.himigame.com/curl-libcurl/878.html 本篇介绍使用libcurl编程的一般原则和一些基本方法.本文主要是介绍 c 语言的调用接口,同时也可能 ...
- PL/pgSQL学习笔记之五
http://www.postgresql.org/docs/9.1/static/plpgsql-declarations.html 39.3. 声明 块中使用的所有的变量必须在块的声明节中进行声明 ...
- Codeforces Round #136 (Div. 1)C. Little Elephant and Shifts multiset
C. Little Elephant and Shifts Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/pro ...
- C#中的ICollection接口
一.集合类: 1.1 ICollection接口 前面我们学习了数组,这是.net Framework定义的最基本的集合类型,除过数组外,.net Framework还另外定义了很多集合类型以满足编程 ...
- MySql中的事件
一.前言 自MySQL5.1.0起,增加了一个非常有特色的功能–事件调度器(Event Scheduler),可以用做定时执行某些特定任务(例如:删除记录.对数据进行汇总等等),来取代原先只能由操作系 ...
- spring mvc 3.0 ModelAndView模型视图类
见名知意,从名字上我们可以知道ModelAndView中的Model代表模型,View代表视图.即,这个类把要显示的数据存储到了Model属性中,要跳转的视图信息存储到了view属性.我们看一下Mod ...
- windows下查看某个端口被哪个程序占用的方法
经常,我们在启动应用的时候发现系统需要的端口被别的程序占用,如何知道谁占有了我们需要的端口,很多人都比较头疼,下面就介绍一种非常简单的方法,希望对大家有用 假如我们需要确定谁占用了我们的9050端口 ...
- 终端I/O之stty命令
所有的终端选项标志,在程序中都可用tcgetattr和tcsetattr函数(http://www.cnblogs.com/nufangrensheng/p/3576682.html)进行检查和更改. ...
- SQL Server 查看死锁的存储过程(转载)
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[sp_who_lock]') and ) drop proc ...