visualvm正如其名,它能让我们以可视化的方式观察JVM的运行信息,包括启动参数、堆内存、加载的类等。

visualvm既可以观察本地的JVM,也可以观察远程服务器上的JVM。

以观察远程服务器上的tomcat为例。

首先,在服务端开启jstatd

想要远程监控JVM需要jstatd来简化连接和数据获取操作。

启动jstatd需要注意,首先是启动jstatd的用户要有权限监控tomcat的进程,比如root用户,或者启动tomcat的用户。

然后,jstatd相当于监视另一个JVM的运行状态,会带来风险,默认会报出AccessControlException异常,可以使用如下方式规避,

新建文件jstatd.all.policy,内容如下:

grant codebase "file:${java.home}/../lib/tools.jar" {

permission java.security.AllPermission;

};

使用如下为命令启动:

jstatd -J-Djava.security.policy=jstatd.all.policy -p 1099,其中1099用来指定jstatd监听的端口号

使用ss -nlpt | grep 1099验证jstatd是否已经启动

然后,使用visualvm建立连接

visualvm可以从 官网 下载,

解压后,双击/bin/visualvm.exe即可。

选择添加远程服务器:

填入正确的远程主机名和端口号:

最后,连接成功后可以看到如下界面

PS,visualvm可以看到远程服务器上的所有JVM,如果想要确定其中某个,可以通过pid来选择,这里提供两种获取pid的方式:

使用ss -nltp | grep 8080,其中8080是tomcat监听的端口号,可依据先前设置更改此项。

如图所示,pid=3175表示tomcat的进程号是3175

使用ps -ef | grep tomcat命令,

如上图所示,能看到进程号也是3175,不过如果服务器上运行了多个tomcat实例,则需要进一步辨别。

原文:https://www.cnblogs.com/SanjiApollo/p/13283973.html

ava远程服务器,使用visualvm观察远程服务器某个JVM运行数据相关推荐

  1. java获取服务器状态_获取远程服务器上 Java 进程的运行状态

    为了安全考虑, 有些服务器会被限制登录. 本文介绍如何获取远程服务器上 Java 进程的运行状态. 启动 jstatd 服务 在服务器端启动 jstatd 服务后, 远程的机器可以通过 rmi 协议获 ...

  2. java读远程服务器文件,java 读取远程服务器文件

    java 读取远程服务器文件 [2021-01-31 12:09:45]  简介: php去除nbsp的方法:首先创建一个PHP代码示例文件:然后通过"preg_replace(" ...

  3. 远程服务器如何传文件大小,linux服务器远程传文件大小

    linux服务器远程传文件大小 内容精选 换一换 已将所需升级的鲲鹏性能分析工具的软件包下载到本地.获取软件包后,需要校验软件包,确保与网站上的原始软件包一致,详细步骤请参见软件包校验.获取软件包后, ...

  4. RIS服务器的安装和远程自动安装操作系统(二)

    RIS服务器的安装和远程自动安装操作系统 在完成了安装RIS服务器之后,需要做一些设置才能够让RIS正常工作. 第二步设置: 1.首先需要创建一个或多个用户使用具有使用远程安装计算机的权限(这些实在服 ...

  5. r730xd服务器文档,r730xd配置服务器远程

    r730xd配置服务器远程 内容精选 换一换 简要介绍Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成.语言:C/C++一句话描述:共享资源工具建议的版本 ...

  6. html 播放远程视频教程,视频基于HTML5的服务器远程访问工具

    现在云计算这么发达,基本上每个人都多少有几台Windows或者Linux服务器运行在云端,要直接进入这些服务器进行配置就需要使用类似远程桌面或者Putty这类的工具,虽然大多数Windows电脑都自带 ...

  7. 【Linux】11.将ubuntu电脑设置为一台可远程ssh或sftp访问的服务器

    将ubuntu电脑设置为一台可远程ssh或sftp访问的服务器 1.将ubuntu电脑设置为一台可远程ssh访问的服务器 参考 原文链接:https://blog.csdn.net/papaaa/ar ...

  8. HttpWebResponse远程服务器返回错误: (500) 内部服务器错误。

    现象 我们编码实现请求一个页面时,请求的代码类似如下代码: HttpWebRequest req = (HttpWebRequest)WebRequest.Create(strUrl);req.Use ...

  9. python远程ftp服务器文件,如何将远程python FTP服务器连接到本地pythonftp客户端

    我正在使用pythonftp服务器和客户端程序.我需要的是在与本地计算机连接在同一网络上的远程计算机上运行pythonftp服务器.FTP客户端将从本地计算机运行,我需要将FTP服务器与运行在本地计算 ...

最新文章

  1. 东大计算机专业自主招生,东大2018年自主招生计划不超过200人 招生专业分为7大类...
  2. 从Web2.0到Enterprise 2.0(三)Enterprise 2.0的三个方向
  3. 将数据文件附加到数据库
  4. python中hasattr()、getattr()、setattr()函数的使用
  5. 0322互联网新闻 | 搜狐视频重拾喜剧路线;抖音及海外版TikTok应用内购收入达7500万美元...
  6. java调用wcf_详解JAVA调用WCF服务的示例代码
  7. (147)FPGA面试题-Verilog移位相加实现乘法(二)
  8. 手机通讯加密软件Peerio上架,代码全部开源
  9. 物质之学 —— 等离子(物质的第四态)
  10. wps表格l制作甘特图_WPS表格制作进度计划横道图教程
  11. 软考中级软件设计师--13.数据结构与算法
  12. PRCV2021 第四届中国模式识别与计算机视觉大会开放注册
  13. 开发文件管理器-2015年9月19日
  14. java随机生成随机整数_java生成随机整数
  15. C语言实现操作系统简单的P V操作
  16. dPCA 二面角主成分分析
  17. Ubuntu18.04 有线网络显示已连接但无法打开网页
  18. Counterfactual Zero-Shot and Open-Set Visual Recognition
  19. 如何利用训练好的神经网络进行预测
  20. 转载HTMl转义字符大全

热门文章

  1. 半路出家: 如何转行成为软件开发者
  2. 当秀美小城遇上“懂行人”:怀凌云壮志,谱时代新篇!
  3. pact java 测试_GitHub - cshruby/pact-parent: java中使用pact做契约测试的事例
  4. [20][03][22] Cookie Security: Over Broad Domain
  5. 【安卓辅助】安卓批量管理器
  6. C++中调用matlab的dll文件(解决初始化失败的问题)
  7. Visual Studio 2017(C#)连接Microsoft Access 2010
  8. Moto E试用:810元的低端Android手机
  9. Python数学基础:利用换元法求不定积分2
  10. conda 报错 ERROR: This cross-compiler package contains no program bin/x86_64-conda_cos6-linux-gnu-ld