记一次内存泄露排查

安装jprofiler,开启远程监控

使用jprofiler排查

1安装jprofiler

1.1下载jprofiler的windows版本,远程监控使用;

                下载地址:https://www.ej-technologies.com/download/jprofiler/version_110

                下载项:记一次内存泄露排查_第1张图片

                windows版的自行安装

第二部分:下载jprofiler_linux_11_0_2.tar.gz

记一次内存泄露排查_第2张图片

1.2安装linux的jprofiler,启动远程监控

1.2.1安装linux的jprofiler

在服务器根目录创建文件夹jprofiler,将jprofiler_linux_11_0_2.tar.gz放入

解压 tar -zxvf jprofiler_linux_11_0_2.tar.gz

查看机器内核uname -m,看是64位还是32(我是64)

配置环境变量

vi /etc/profile

添加下面的配置

export INSTALL4J_JAVA_HOME=/usr/java/jdk1.8.0_131
export LD_LIBRARY_PATH=/jprofiler/jprofiler11/bin/linux-x86


修改完后,使环境变量生效

source /etc/profile

1.2.2配置windows的jprofiler

记一次内存泄露排查_第3张图片

记一次内存泄露排查_第4张图片记一次内存泄露排查_第5张图片 

记一次内存泄露排查_第6张图片

记一次内存泄露排查_第7张图片

记一次内存泄露排查_第8张图片

记一次内存泄露排查_第9张图片

记一次内存泄露排查_第10张图片

记一次内存泄露排查_第11张图片

1.2.3服务端项目配置 

配置完以后肯定连接不上,因为服务端项目启动还没配置

启动项目的服务并添加下面配置

-agentlib:jprofilerti=port=8849 -Xbootclasspath/a:/opt/jprofiler11/bin/agent.jar -agentpath:/opt/jprofiler11/bin/linux-x64/libjprofilerti.so=port=8849,nowait

进入jprofilter的安装路径的bin下    cd /jprofiler/jprofiler11/bin    使用命令./jpenable 启动

记一次内存泄露排查_第12张图片

 图片来自另一位大神的博客,这个仅个人记录

启动以后,查看端口8849是否启动,如果启动,说明没有问题,但是一定要开端口策略,自己电脑要能telnet通

netstat -tunlp | grep 8849

配置和8849启动成功以后,再启动windows端进行连接

到此jprofilter的安装,监控配置完成

2.profilter监控内存

记一次内存泄露排查_第13张图片

记一次内存泄露排查_第14张图片

 点击live memory监控实时的所有的内存情况

记一次内存泄露排查_第15张图片

 先点击1 执行run gc,在点击2mark current,进行观察,一直增加没有进行gc的对象是需要处理的

你可能感兴趣的:(技术积累,java)