600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > Linux中JAVA服务器内存占用高(分析解决方法)

Linux中JAVA服务器内存占用高(分析解决方法)

时间:2021-09-20 06:11:15

相关推荐

Linux中JAVA服务器内存占用高(分析解决方法)

当发现生产环境内存使用非常高,并且居高不下,需要快速定位,分析是什么地方占用内存过高,推荐步骤如下:

1. 首先服务器查看占用内存高的进程是哪一个,查出进程号

top

2. 然后通过下面命令导出堆栈文件

-- 程序内存高dump文件(文件名称必须以 .hprof 后缀结尾) 进程号jmap -dump:format=b,file=/root/dd1.hprof 452615

注意:只需要改上面的文件名称和对应的进程号即可。文件必须以 .hprof 后缀结尾。

3. 通过下面网址下载内存分析工具,选择windows版本即可。

https://ftp.yz.yamagata-u.ac.jp/pub/eclipse//mat/1.11.0/rcp/

4.打开工具,file->Open Heap Dump,打开上面2中导出的 .hprof 文件

5. 堆内存文件本身会比较大,上10G很正常,所以要准备一个单独的文件夹存放,并且要保证空间足够,工具在解析的时候会额外生成其他的文件

解析完成如下图:

6.点击上图处,即可查询到占用信息,如下图:

通过上面的步骤后,就能清楚的知道是哪里的代码有问题或者是程序哪里的配置有问题。

最后注意:

当使用上面工具在解析内存文件时,如果工具的内存分配较小的话,会解析出错,建议加大该工具内存配置。

在工具启动同一目录下 文件:MemoryAnalyzer.ini,修改下图中的值即可。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。