首页 > 系统相关 >Windows下Tomcat内存占用过高问题跟踪(jmap 的使用)

Windows下Tomcat内存占用过高问题跟踪(jmap 的使用)

时间:2022-11-01 16:37:08浏览次数:49  
标签:Tomcat dump Windows 占用 实例 线程 内存 jmap


一、问题描述

  Tomcat下面部署很多个java项目的war包,tomcat启动一段时间后,发现cpu占用过高,整个界面卡死!

二、通过tasklist命令查看java进程下的线程

三、通过jstack把进程下所以的Java线程栈的内容打印出文本中

四、引出jmap

使用jstack我们能够生成虚拟机当前时刻的线程快照,包含虚拟机中每一个线程正在执行的方法堆栈的集合,用于定位线程出现长时间停顿的原因,如死锁、死循环、外部资源长时间等待等。但是有时候我们需要观察到内存对象实例,此时我们可以使用jmap命令。

四、jmap的作用

Jmap 可以用来查看内存信息,实例个数以及占用内存大小.

jmap -histo[:live] 打印每个class的实例数目,内存占用,类全名信息. VM的内部类名字开头会加上前缀”*”. 如果子参数加上live后,只统计活的对象数量.

五、jmap的使用

1、堆内存dump到指定目录,jmap -dump:b,file=project.hprof pid

2、dump生成的文件可以用jvisualvm命令工具导入该dump文件分析: 打开 jdk 的bin目录的 jvisualvm 工具,选择文件,再选择装入,并选中对应的文件类型,即可进行导入文件,分析内存对象。

Windows下Tomcat内存占用过高问题跟踪(jmap 的使用)_jvm

如若转载,请注明出处:开源字节   https://sourcebyte.cn/article/188.html

 

标签:Tomcat,dump,Windows,占用,实例,线程,内存,jmap
From: https://blog.51cto.com/sourcebyte/5814233

相关文章