JProfiler监控远程Linux服务器上的Java应用

JProfiler官网下载对应版本的Windows和Linux安装包

Linux上tar -xzf jprofiler_linux_14_0_6.tar.gz解压jprofiler

允许TCP数据经过Linux服务器的8849端口

在原先启动项目的命令里加上-agentpath:/path/to/jprofiler/bin/linux-x64/libjprofilerti.so=port=8849,nowait,address=0.0.0.0,如下

java -jar -Xms4g -Xmx8g -Djasypt.encryptor.password=spinQCloudApplication -Dspring.profiles.active=uat -agentpath:/home/jerry/helpers/jprofiler/jprofiler14.0.6/bin/linux-x64/libjprofilerti.so=port=8849,nowait,address=0.0.0.0 demo-3.17.0.jar

请注意添加address=0.0.0.0,否则无法远程访问

或者也可以在项目的application.yml中配置

jvm:
   args:
      -agentpath:/path/to/jprofiler/bin/linux-x64/libjprofilerti.so=port=8849,nowait,address=0.0.0.0

重启应用程序,此时你可以看到jprofiler应用和原网络应用均在监听端口,其中被监听的网络应用启动稍晚

$ lsof -i :5087
COMMAND  PID  USER   FD   TYPE    DEVICE SIZE/OFF NODE NAME
java    5379 jerry   13u  IPv4 564784361      0t0  TCP *:5087 (LISTEN)
$ lsof -i :6050
COMMAND  PID  USER   FD   TYPE    DEVICE SIZE/OFF NODE NAME
java    5379 jerry   83u  IPv6 564785324      0t0  TCP *:6050 (LISTEN)

打开Windows上的本地JProfiler,选择远程连接后就进入配置窗口,按照指引配置

  1. 远程服务器的架构
  2. JVM的类型
  3. SSH连接信息


    image.png
  4. 远程JProfiler的安装目录


    image.png
  5. 用于分析的端口,默认8849

开始监听后可能会报错无法连接到会话,将连接方式从SSH改为Unsecured TCP connection可以解决问题


image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容