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

大概步骤如下

  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. c语言unused variable错误,这个错误可能的原因是你忘了初始化变量
  2. 【机器学习】什么是机器学习?(下)
  3. property field java_Java 中 field 和 variable 区别及相关术语解释
  4. C#使用Gecko实现浏览器
  5. web安全_皮卡丘_csrf
  6. bzoj3209:3209: 花神的数论题
  7. 类代理java设计模式---动态代理(简单笔记)
  8. Logrotate操作手册
  9. Angular.js-开发前笔记
  10. MCU总线读写仿真模块
  11. 电脑管家版WiFi共享精灵简介
  12. matlab自由落体程序,基于MATLAB的自由落体运动仿真.pdf
  13. 微信编辑器的文章复制到公众号以后乱码怎么解决?
  14. 少年派的奇幻漂流-解读与感悟
  15. linux mint 搜狗 乱码,解决linux mint wine微信字体显示问题
  16. 到底什么是IaaS、PaaS、SaaS?
  17. 模拟登录qq网页版方法
  18. 华为语音解锁设置_华为手机语音转文字怎么设置,如何完成音频在线转换
  19. PyTorch搭建卷积神经网络(CNN)进行视频行为识别(附源码和数据集)
  20. 【72】编辑距离问题

热门文章

  1. 关于PCIe协议的学习
  2. 多目标优化算法:多目标袋獾优化算法MOTDO(提供MATLAB代码)
  3. java native2ascii,native2ascii命令
  4. 微机原理实验一——8086系统寻址方式和汇编语言程序设计
  5. Linux查看版本当前操作系统信息
  6. 8T硬盘安装windows server版本
  7. 优麒麟问题解决及使用技巧
  8. java学习-网络编程
  9. 【光纤传感硬件类论文】
  10. python动物重量排序_动物英语单词按字母排列