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

大概步骤如下

  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详解

jprofiler远程监控JVM( spring boot项目)相关推荐

  1. 远程服务器部署spring boot 项目(centos7为例)

    1.打包项目(可以是jar包,也可以是war包)以jar包为例(用eclipse打包): 1.项目目录右击--debug as(run as)--maven build,然后输入package,点击d ...

  2. Jenkins系列之——第五章 Jenkins编译一个Spring Boot项目并通过SSH推送到远程

    上一章讲了发布一个项目到远程的Tomcat上,但是随着现在微服务Spring Cloud的热度很多小伙伴们都转向了Spring Boot.本章就介绍一下如何部署一个Spring Boot项目并通过脚本 ...

  3. Spring Boot项目部署服务器 本地正常 远程无法访问问题排错

    Spring boot项目部署linux 服务器本地正常 远程无法访问 问题描述 排错 原因 最后 最近买个云主机学大佬部署项目..然后直接炸裂了... 问题描述 本地保证代码没问题的情况下( jav ...

  4. 在WIN7中用maven将spring boot项目远程部署到Linux虚拟机的docker容器

    题目信息量很大,蕴含了以下信息: 1.当前开发环境是WIN7 2.docker容器在Linux虚拟机中 3.在WIN7里将直接将spring boot项目发布到该远程docker 4.发布工具是mav ...

  5. Spring Boot 项目如何做性能监控?

    来源:zhaoyh's blog,http://zhaoyh.com.cn/ Spring Boot特别适合团队构建各种可快速迭代的微服务,同时为了减少程序本身监控系统的开发量,Spring Boot ...

  6. spring boot项目 中止运行 最常用的几种方法

    spring boot项目 中止运行 最常用的几种方法: 1. 调用接口,停止应用上下文 @RestController public class ShutdownController impleme ...

  7. 如何做自己的服务监控?spring boot 2.x服务监控揭秘

    Actuator是spring boot项目中非常强大一个功能,有助于对应用程序进行监视和管理,通过 restful api请求来监管.审计.收集应用的运行情况,针对微服务而言它是必不可少的一个环节. ...

  8. 快速使用 Docker 部署 Spring Boot 项目

    如今 Docker 的使用已经非常普遍,特别是在一线互联网公司,使用 Docker 技术可以帮助企业快速水平扩展服务,从而达到弹性部署业务的能力.在云服务概念兴起之后,Docker 的使用场景和范围进 ...

  9. Jenkins部署spring boot项目

    本文介绍使用Jenkins自动打包发布spring boot项目,我们在没有使用持续集成工具的情况下,开发好的spring boot项目,通过maven打包,上传jar包到服务器上,通过java -j ...

最新文章

  1. Symbian c++ MCameraObserver类的方法解释
  2. 菜鸟成长日记(四)之WMIC简单命令应用
  3. project template
  4. redis源码剖析(七)—— Redis 数据结构dict.c
  5. DataTable操作
  6. spring boot + vue + element-ui全栈开发入门——前端编辑数据对话框
  7. 52. PHP 伪静态
  8. 软件工程个人作业01 100以内四则运算自动答题系统(含整数和真分数)
  9. Google发布MobileNets,一种预训练的高效Tensorflow计算机视觉模型
  10. 软件工程(成本/效益分析)
  11. AMD Ryzen Threadripper PRO 5000 series now available for the DIY market, 64 Zen3 cores for $6500
  12. 具有层级关系的关系型数据库表设计
  13. WordPress和October
  14. 【资源帖】漏洞平台(国内外)+企业SRC整理-持续更新
  15. 【Java进阶营】Java面试题收集
  16. 2021年起重机械指挥新版试题及起重机械指挥模拟考试
  17. nvm安装与使用详解(Window11)
  18. 下载安装MarkDown保姆级
  19. java词云生成,kumo项目详解
  20. MPT——cost function推导过程

热门文章

  1. 【目标检测】55、YOLOv8 | YOLOv5 团队 Ultralytics 再次出手,又实现了 SOTA
  2. MySQL中GROUP_CONCAT和Having的使用
  3. Java获取标准网络时间
  4. KindEditor编辑器/分页编写
  5. 旋转矩阵R、平移向量t以及变换矩阵T的定义及其下标的含义
  6. 该适配器当前设置为使用特定的错误IP地址,而不是自动获取iP地址
  7. 2014年 delphi源码大全升级到31G
  8. mysql省市级联pid_全国省市级联sql表
  9. PostgreSQL11.17离线安装过程(X86+Ubuntu)
  10. tp报错: SQLSTATE[42000]: Syntax error or access violation: 1055 Expression #1 of SELECT list is