1、获取应用的pid

linux:

ps -ef | grep java

或着使用

ps -aux | grep java

如下图:
file
使用jsp命令获取,前面的是进程pid

jsp

<!--more-->

继上篇文章分析了内存溢出后,也没说怎样获取dump文件,这次得讲讲。。。
我们可用JDK自带工具,命令方式获取即可。
## 第一种方案:
### 1、获取应用的pid
`linux:`

ps -ef | grep java

或着使用

ps -aux | grep java

如下图:
![file](http://img.91lucky.top/oooxxx/article/20190704180217381.png)
使用jsp命令获取,前面的是进程pid

jsp

![file](http://img.91lucky.top/oooxxx/article/20190704180300984.png)

`windows:`

![file](http://img.91lucky.top/oooxxx/article/20190704180434439.png)

### 2、使用jmap获取dump信息
linux下的文件系统和windows下的文件系统是不同的。
jmap -dump:format=b(指的是二进制),file=/home/dump(保存的文件位置) 6404(上面查到的进程号)
linux:

jmap -dump:format=b,file=/home/dump 6404

windows

jmap -dump:format=b,file=d:dumptest 6404

如下图
![file](http://img.91lucky.top/oooxxx/article/20190704181053420.png)

## 第二种方案:
我们打开JDK目录(这里指的是windows环境),打开下面的软件
![file](http://img.91lucky.top/oooxxx/article/20190704181352847.png)
我们既可以创建本地连接,还可以创建远程连接,如下图:
![file](http://img.91lucky.top/oooxxx/article/20190704181513451.png)
# 遇到不会的`百度百度`
我这里演示本地获取dump
![file](http://img.91lucky.top/oooxxx/article/20190704182710321.png)

![file](http://img.91lucky.top/oooxxx/article/20190704182610739.png)

### 3、tomcat自动保存内存溢出时的dump
写累了,直接参考吧!
参考
https://jiangsha.iteye.com/blog/1576355
http://www.blogjava.net/zhanglongsr/articles/396607.html

标签: tomcat, JVM', 多线程

添加新评论