jprofiler远程监控JVM( spring boot项目)
jprofiler远程监控JVM( spring boot项目)
服务器的服务出现莫名其妙的假死问题,没有出现报错或者异常信息。需要通过工具来远程监控项目
大概步骤如下
- 安装版本号一致的jprofiler
- 如果使用docker 容器运行项目的需要进入docker 容器内配置jprofiler需要的环境配置
- liunx环境上传下载好的liunx版本的jprofiler ,如果是docker 容器需要把jprofiler 拷贝到容器当中, 这样docker容器中才真正的包含了jprofiler
- window系统安装jprofiler 配置对应的liunx ip和端口 即可监控项目情况
一.安装版本号一致的jprofiler
下载地址:
ej-technologies - Java APM, Java Profiler, Java Installer Builder
(下载、安装windows和linux版的jprofile.注意:若监控的是springboot、springcloud项目,切记本地和服务器上的jprofile要版本保持一致,本人亲自踩过坑)
下载windows端jprofiler11.0.2 版本


下载liunx端的jprofiler11.0.2版本

二.如果使用docker 容器运行项目的需要进入docker 容器内配置jprofiler需要的环境配置
检查自己liunx服务器是64位还是32位的,
uname -m

如果是32位的采用以下配置:
进入docker 容器内部配置jprofiler环境变量
#进入容器
docker exec -it 容器id /bin/bash
cd /etc
vi profile

INSTALL4J_JAVA_HOME为java环境变量
LD_LIBRARY_PATH为自己服务器上jprofiler11的bin下的x86环境。
export INSTALL4J_JAVA_HOME=/usr/java/jdk1.8.0_181
export LD_LIBRARY_PATH=/opt/jprofiler11/bin/linux-x86
修改完后,使环境变量生效
source /etc/profile
如果是64位的,小编的服务器是64位的,所以采用的配置如下:
INSTALL4J_JAVA_HOME为java环境变量
LD_LIBRARY_PATH为自己服务器上jprofiler11的bin下的x环境。
export INSTALL4J_JAVA_HOME=/usr/java/jdk1.8.0_181
export LD_LIBRARY_PATH=/opt/jprofiler11/bin/linux-x64
修改完后,使环境变量生效
source /etc/profile
三. liunx环境上传下载好的liunx版本的jprofiler ,如果是docker 容器需要把jprofiler 拷贝到容器当中, 这样docker容器中才真正的包含了jprofiler
(小编的liunx环境该开始的时候是用的openjdk,后面又重新安装了jdk1.8,在liunx环境的jdk映射到docker容器中,使得liunx环境的jdk跟docker容器使用的jdk 是一致的,目前没有证实是否需要这样做,如果没有安装过程报错可以忽略这步骤)
参考文档
启动命令参考 IP和端口需要填自己的
sudo docker run -d -m 4096M --memory-swap 6144M --oom-kill-disable \
--name deploy \
--net=host \
-e JAVA_OPTS="-Xmx5g -Xms5g -Xmn3072M -Xss1M -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/logs/dump.log -XX:MetaspaceSize=256M -XX:MaxMetaspaceSize=256M -XX:SurvivorRatio=8 -XX:MaxTenuringThreshold=10 -XX:PretenureSizeThreshold=3M -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=92 -XX:+UseCMSCompactAtFullCollection -XX:CMSFullGCsBeforeCompaction=3" \
-e BOOT_CONFIG=" \
--spring.profiles.active=deploy \
--spring.application.name=deploy \
--spring.cloud.nacos.config.server-addr=127.0.0.1:8848 \
--spring.cloud.nacos.config.ext-config[0].data-id=deploynode.properties \
--agentlib:jprofilerti=port=8849 -Xbootclasspath/a:/root/jprofiler11/bin/agent.jar \ --agentpath:/root/jprofiler11/bin/linux-x64/libjprofilerti.so=port=8849,nowait \
" \
-v /home/deploy /logs:/logs \
-v /home/deploy /file:/file \
-v /home/deploy /nacos:/root/nacos \
b618f1a12345
四.window系统安装jprofiler 配置对应的liunx ip和端口 即可监控项目情况




填写liunx系统的ip地址
地址填写为jprofile文件上传到liunx环境的地址



最最最重要的步骤,需要把windows 系统生成的jprofile_config.xml
复制到liunx系统上的jprofile目录结构一样的文件中

这样才能使windows系统上的jprofile 跟 liunx系统上的jprofile 有关联。
才能在windows系统上的jprofile真真正正的监控liunx上的项目运行气情况

替换好的liunx系统上的jprofile 整个拷贝到需要监控的服务,指定的docker容器中。
启动docker 容器,启动命令记得加上 环境参数
--agentlib:jprofilerti=port=8849 -Xbootclasspath/a:/root/jprofiler11/bin/agent.jar \ --agentpath:/root/jprofiler11/bin/linux-x64/libjprofilerti.so=port=8849,nowait \
容器启动成功,进入容器启动 jprofile
#进入容器
docker exec -it 容器id /bin/bash
启动jpenable,设置8849端口
cd /jprofiler11
cd bin
./jpenable

windows 启动jprofile11,进行测试



参考文档
jprofiler远程监控JVM( spring boot项目)_MonkeyKing_sunyuhua的博客-CSDN博客_jprofiler远程监控
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐



所有评论(0)