您的位置:首页 > 运维架构

JVM学习笔记3 虚拟机性能监控与故障分析工具

2014-06-30 16:41 489 查看

一、JDK的工具

命令行工具:
jps:虚拟机进程状况工具
jstat:虚拟机统计信息监视工具
jinfo:Java配置信息工具
jmap:Java内存映像工具
jhat:虚拟机堆转储快照分析工具
jstack:Java堆栈跟踪工具
可视化工具:
JConsole:Java监视与管理控制台

二、调优案例

1、高性能硬件上的程序部署策略

部署方式:
一:通过64位JDK来使用大内存
二:使用若干个32位虚拟机建立逻辑集群来利用硬件资源(推荐)
 
部署方式一需要面临的问题:



 
部署方式二需要面临的问题:



 

2、集群间同步导致的内存溢出

案例:
一个实现了重发机制的同步系统,在收到同步成功的消息之前,发送的信息必须在内存中保留。但是,如果网络情况不能满足传输要求时,重发数据在内存中不断堆积,很快就会产生内存溢出。
解决思路:
需要集群同步的话,可以允许读操作频繁,因为数据在本地内存有一份副本,读取的动作不会耗费多少资源,但不应有过于频繁的写操作,这回带来很大的网络同步开销。
 

3、堆外内存导致的溢出错误




4、外部命令导致系统缓慢

案例:
使用Java的Runtime.getRuntime().exec()方法调用外部命令,导致新建进程
解决思路:
尽量使用Java的API替代
 

5、服务器JVM进程崩溃

(略)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: