java 内存分析工具 生成 dump_java内存检测工具

java 内存分析工具 生成 dump_java内存检测工具jmap-heap1234查看进程号为1234的Java程序的整个jvm内存状态jmap-histo1234查找进程号为1234的java程序的jvm堆中对象详细占用情况jmap-dump:format=b,file=/my.dump1234导出1234进程的java程序的整个JVM信息jhat-J-Xmx1024M/my.dump,启动web服务查看jmap导出的jav…


Jetbrains全系列IDE稳定放心使用

jmap -heap 1234 查看进程号为1234的Java程序的整个jvm内存状态

jmap -histo 1234 查找进程号为1234的java程序的jvm堆中对象详细占用情况

jmap -dump:format=b,file=/my.dump 1234  导出1234进程的java程序的整个JVM信息

jhat -J-Xmx1024M /my.dump, 启动web服务查看jmap导出的java程序的jvm信息。

jstack 1234 查看1234进程的所有堆栈信息。

以上命令的功能都可以从jVisualVM程序获取,双击运行即可。

jmap是java自带的工具

查看整个JVM内存状态

jmap -heap [pid]

要注意的是在使用CMS GC 情况下,jmap -heap的执行有可能会导致JAVA 进程挂起

查看JVM堆中对象详细占用情况

jmap -histo [pid]

导出整个JVM 中内存信息

jmap -dump:format=b,file=文件名 [pid]

jhat是sun 1.6及以上版本中自带的一个用于分析JVM 堆DUMP 文件的工具,基于此工具可分析JVM HEAP 中对象的内存占用情况

jhat -J-Xmx1024M [file]   (此处的file指的是jmap -dump导出的内存数据文件)

执行后等待console 中输入start HTTP server on port 7000 即可使用浏览器访问 IP:7000

eclipse Memory Analyzer

Eclipse 提供的一个用于分析JVM 堆Dump文件的插件。借助这个插件可查看对象的内存占用状况,引用关系,分析内存泄露等。

kill -3 [pid]

在Linux 上找到Java所在的进程号,然后执行以上命令,线程的相关信息就输出到console

jstack

jstack 是sun JDK 自带的工具,通过该工具可以看到JVM 中线程的运行状况,包括锁等待,线程是否在运行

执行 jstack [pid] ,线程的所有堆栈信息

“http-8080-10” daemon prio=10 tid=x0a949bb60 nid=0x884  waiting for monitor entry […]

“http-8080-10” 这个线程处于等待状态。 waiting for monitor entry 如果在连续几次输出线程堆栈信息都存在于同一个或多个线程上时,则说明系统中有锁竞争激烈,死锁,或锁饿死的想象。

“http-8080-11” daemon prio=10 tix=xxx nid=xxx in object.wait() […]

java.lang.Thread.State:waiting (on object monitor)

该表示http-8080-11的线程处于对象的Wait 上,等待其他线程的唤醒,这也是线程池的常见用法。

“Low Memory Detector”daemon prio=10 tix=xx nid=xxx runnable […] java.lang.Thread.State:runnable

表示“Low Memory Detector” 的线程处于Runable状态,等待获取CPU的使用权.

jvisualvm

一.Java VisualVM 概述

对于使用命令行远程监控jvm 太麻烦 。 在jdk1.6 中 Oracle 提供了一个新的可视化的。 JVM 监控工具 Java VisualVM 。jvisualvm.exe 在JDK 的 bin 目录下。

双击启动 Java VisualVM 后可以看到窗口左侧 “应用程序 ”栏中有“ 本地 ”、“远程 ” 、“快照 ”三个项目。

“本地 ”下显示的是在 localhost 运行的 Java 程序的资源占用情况,如果本地有 Java 程序在运行的话启动 Java VisualVM 即可看到相应的程序名,点击程序名打开相应的资源监控菜单,以图形的形式列出程序所占用的 CPU 、 Heap 、 PermGen 、类、线程的 统计信息。

“远程” 项下列出的远程主机上的 Java 程序的资源占用情况,但需要在远程主机上运行 jstatd 守护程序

VisualVM分为 3 类, 本地 它会自动侦测到,并显示出来

双击Local 下的任一节点,看到右边的变化 ,你可以监控 CPU ,内存,类,线程等运行状况,实时监控服务器性能。

右键 VisualVM我们可以看到 Thread Dump, Heap Dump

做 Thread Dump 很快,马上就可以看到结果

Heap Dump要稍花费一些时间(可以看到当前 heap 里对象的数量及占用的比例,做 OOM 很好用)

对其功能不再做描述,可以查阅网上相关质量,我们主要讲的是如何使用 VisualVM 远程监控。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/186854.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长

相关推荐

  • 腾讯云服务器配置ssl,腾讯云服务器SSL证书申请及配置[通俗易懂]

    腾讯云服务器配置ssl,腾讯云服务器SSL证书申请及配置[通俗易懂]最近在研究微信小程序,服务端需要部署在一台服务器上,查看了一下,腾讯云在搞活动,就申请了腾讯云的服务器,但是微信小程序访问需要用https协议才能请求,于是研究了一下如何申请及配置ssl证书。本人穷逼一枚,一向以节俭,所以申请了一个免费证书。申请步骤如下:1、登录证书申请页面https://console.qcloud.com/ssl/apply2、输入必要信息,通用名称及申请邮箱,点击下一步这一…

    2022年9月4日
  • cms漏洞扫描_大数据因果溯源分析

    cms漏洞扫描_大数据因果溯源分析CMS系统漏洞分析溯源(第5题)解题思路:登陆页面>>>扫描后台地址>>>登陆地址>>>查看是否可以绕过>>>不可以的话>>>百度管理系统源码>>>分析源码>>>查看登陆页面>>>找到相关php文件>>>admin_name>>>浏览器添加cookie>>>直接访问带有漏洞php文件的页面>>&

    2022年9月27日
  • n皇后问题描述_启发式算法解决N皇后问题

    n皇后问题描述_启发式算法解决N皇后问题在N*N的方格棋盘放置了N个皇后,使得它们不相互攻击(即任意2个皇后不允许处在同一排,同一列,也不允许处在与棋盘边框成45角的斜线上。你的任务是,对于给定的N,求出有多少种合法的放置方法。Input共有若干行,每行一个正整数N≤10,表示棋盘和皇后的数量;如果N=0,表示结束。Output共有若干行,每行一个正整数,表示对应输入行的皇后的不同放置数量。SampleInput

    2022年9月29日
  • Idea激活码永久有效Idea2021.2.4激活码教程-持续更新,一步到位

    Idea激活码永久有效Idea2021.2.4激活码教程-持续更新,一步到位Idea激活码永久有效2021.2.4激活码教程-Windows版永久激活-持续更新,Idea激活码2021.2.4成功激活

    2022年6月17日
  • 《Java小游戏实现》:贪吃蛇

    《Java小游戏实现》:贪吃蛇《Java小游戏实现》:贪吃蛇在完成坦克大战之后,就想到了贪吃蛇这个小游戏,因为这两个游戏太像了,因此,就决定把这个游戏来尝试的写下。接下来的几篇博文就是来记录这个小游戏实现的全过程。突然,想起,一年前(时间是2015年7月3日),我刚学习Java的时候看过别人写的这个游戏源代码,还专门写了篇博文,连接如下:http://blog.csdn.net/u010412719/article/detail

    2022年7月9日
  • nginx转发服务器_jquery跨域请求

    nginx转发服务器_jquery跨域请求场景描述:A服务器映射了外网IP;B服务器为内网服务器,A和B能互通;外网IP不能访问B上的服务;方案:使用nginx在A服务器上做个代理转发,将B服务器上的服务代理到A服务器上,这样外网IP就可以通过代理的地址访问B上的资源。配置比较简单,如下所示:server{listen8089;//A服务器定义端口需映射到外网IPserver_name172.10.20.6;//A服务器代理地址…

    2022年10月18日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号