服务器的服务出现莫名其妙的假死问题,没有出现报错或者异常信息。需要通过工具来远程监控项目

大概步骤如下

  1. 安装版本号一致的jprofiler
  2. 如果使用docker 容器运行项目的需要进入docker 容器内配置jprofiler需要的环境配置
  3. liunx环境上传下载好的liunx版本的jprofiler ,如果是docker 容器需要把jprofiler 拷贝到容器当中, 这样docker容器中才真正的包含了jprofiler 
  4. 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 是一致的,目前没有证实是否需要这样做,如果没有安装过程报错可以忽略这步骤)

参考文档

Linux安装Oracle JDK替换OpenJDK详解

将linux系统中的文件复制到docker容器中-蒲公英云

启动命令参考  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远程监控

jprofiler 监听远程java项目 - 左手背右手背 - 博客园

将linux系统中的文件复制到docker容器中-蒲公英云

Linux安装Oracle JDK替换OpenJDK详解

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐