JVM分析

在运行java进程是,可以通过jps命令查看进程PID,使用java的同居jmap命令可以得到jvm的dump文件;

在网上找了两种方式获取dump文件

获取JVM的dump文件的两种方式:转载来源https://www.cnblogs.com/liu-ke/p/6622350.html【流柯

1. JVM启动时增加两个参数:

#出现 OOME 时生成堆 dump: 
-XX:+HeapDumpOnOutOfMemoryError
#生成堆文件地址:
-XX:HeapDumpPath=/home/liuke/jvmlogs/

 2. 发现程序异常前通过执行指令,直接生成当前JVM的dmp文件,6214是指JVM的进程号

jmap -dump:format=b,file=serviceDump.dat 6214

 由于第一种方式是一种事后方式,需要等待当前JVM出现问题后才能生成dmp文件,实时性不高,第二种方式在执行时,JVM是暂停服务的,所以对线上的运行会产生影响。所以建议第一种方式。

分析dump文件 :转载来源https://blog.csdn.net/lipc_/article/details/52034743【JVM性能调优之生成堆的dump文件】,这里面讲了一些分析和优化,可以多看看

了解有下面几种工具可以打开该文件:

  1. Visual VM
  2. IBM HeapAnalyzer
  3. JDK 自带的Hprof工具

 使用这些工具时为了确保加载速度,建议设置最大内存为6G。据说,这些工具都无法直观地观察到内存泄漏,Visual VM虽能观察到对象大小,但看不到调用堆栈;HeapAnalyzer虽然能看到调用堆栈,却无法正确打开一个3G的文件。因此,我们又选用了Eclipse专门的静态内存分析工具:Mat。

 3.分析内存泄漏

   通过Mat我们能清楚地看到,哪些对象被怀疑为内存泄漏,哪些对象占的空间最大及对象的调用关系。通过Mat或JMX我们还可以分析线程状态,可以观察到线程被阻塞在哪个对象上,从而判断系统的瓶颈。

转载于:https://www.cnblogs.com/TheoryDance/p/10641648.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/411873.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux组类型,LINUX用户以及用户组

转载博文:https://blog.csdn.net/xietansheng/article/details/800446200、用户、组、文件权限 常用命令:类型举例用户who, whoami, su, useradd, userdel, passwd, usermod, /etc/passwd组groupadd, groupdel, groupmod, /etc/group文件chmod, chown, chgrp其他sudo, exitPS:1…

linux安装Git依赖的包出错,技术|Linux有问必答:如何在Linux上安装Git

问题: 我尝试从一个Git公共仓库克隆项目,但出现了这样的错误提示:“git: command not found”。 请问我该如何在某某发行版上安装Git?Git是一个流行的开源版本控制系统(VCS),最初是为Linux环境开发的。跟CVS或者SVN这些版本控制系…

1社会心理学---感知情境

1小便池放一只苍蝇减少百分之八十的人不文明行为 2电梯中所有人背靠有人就会背靠 3结论 4社会心理学

史上最扯Java图形绘制(J2SE)之一JAVA动画效果

史上最扯Java图形绘制(J2SE)之一JAVA动画效果 很多主一听说Java界面,一水的头大外带血压高,兄弟我倒觉得没什么必要。其实Java这东西吧,就简便性和其初衷而言,真他妈就在GUI 这地界是有优势的,单…

linux 3.11 虚拟摄像头 驱动,摄像头万能驱动-万能视频驱动-摄像头万能驱动下载 v2011.3官方版-完美下载...

摄像头万能驱动收录了N多常用驱动,且适用于80%的摄像头,如:华硕、罗技、创新、联想、戴尔等品牌,智能化的摄像头设备识别和驱动安装,小白也能操作,同时摄像头万能驱动也是装机人员必备驱动盘,一…

linux mate eth0已下线,Linux Mint 18 Cinnamon 版和 MATE 版已经可以下载了

在今天早些时候,Linux Mint[1] 项目负责人 Clement Lefebvre 将 ISO 镜像放到了网上,它首先出现在了爱尔兰的镜像网站[2],看起来已经是最终的产品形态了。截止到写这篇文章时,在 Linux Mint 网站上还没有发布官方通告,…

使用脚本动态操作 SVG 文档

本教程适用于那些希望使用可伸缩向量图形(SVG)创建交互式 SVG 图形的开发人员。它讨论了使用ECMAScript(JavaScript)对现有的 SVG 图像进行实时操作得技术。本文主要介绍在 SVG 中通过编程实现动态操作 SVG 图像的知识。 SVG 图像…

linux 安装vs2017,vs2017安装 CMake安装

apt安装cmakesudo apt install cmake这种方式安装方便,缺点是如果想要自己交叉编译Android平台的opencv会提示版本太低,因为ubuntu16.04源里的cmake版...lj4021598062017年07月30日 23:2484191.下载安装程序,地址为,下载Unix/Linux Source (has \n line …

asp.net 导出word excel 当前上下文中不存在名称“Encoding”报错问题

web页面<% Page Language"C#" EnableEventValidation"false" AutoEventWireup"true" CodeBehind"CheapMaterialManageSet.aspx.cs" Inherits"AssetsManager.DeskWeb.BaseDOC.CheapMaterialManageSet" %>using System.…

linux中fstab含义,fstab每一列的含义

&#xff1c;fstab文件总览&#xff1e;当然&#xff0c;由于每个人的分区和设备属性或者所在的系统不同&#xff0c;所以fstab文件不尽相同&#xff0c;但是基本的结构总是相似的&#xff0c;下面是/etc/fstab中内容的一些示例&#xff1a;/etc/fstab:/dev/hda2 / ext2 defaul…