Windows下Tomcat内存占用过高问题跟踪(jmap 的使用) 您所在的位置:网站首页 tomcat运行日志全部打印出来 Windows下Tomcat内存占用过高问题跟踪(jmap 的使用)

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

2022-11-06 02:53| 来源: 网络整理| 查看: 265

一、问题描述

  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

 



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有