JVM调优工具-VisualVM 远程连接服务器

这篇具有很好参考价值的文章主要介绍了JVM调优工具-VisualVM 远程连接服务器。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

通过windows系统中的VisualVM工具,监控Linux系统的测试环境或uat环境或生成环境,来监控JVM内存。

VisualVm提供在Java虚拟机(Java Virutal Machine,JVM)上运行的java应用程序。

只有按照了jdk,就可以在bin目录下,找到启动程序。

以下是具体步骤:

一、再windows系统中,启动VisualVM

  1. 在windows系统中java安装目录中jdk/bin/目录下的jvisualvm.exe启动程序。双击启动。

  2. 下载插件

    依次点击:工具-> 插件

JVM调优工具-VisualVM 远程连接服务器,开发语言,jvm,java,运维,服务器,linux

二、再Linux系统中,配置远程授权

要监控Linux服务器,需要在该服务器上运行jstatd守护进程。

2.1 配置

jstatd命令也是在jdk/bin/目录下。

执行这个命令之前,需要进行安全策略授权。在jdk/bin目录下,创建名称为jstatd.all.policy的文件,内容如下:

grant codebase "file:${java.home}/../lib/tools.jar" {
   permission java.security.AllPermission;
};
2.2 启动

配置完后,在jdk/bin目录下执行jstatd命令,命令为:

# jstatd -J-Djava.security.policy=jstatd.all.policy -J-Djava.rmi.server.hostname=ip (hostname 为你的 IP)
# & 是后台运行
./jstatd -J-Djava.security.policy=jstatd.all.policy -J-Djava.rmi.server.hostname=172.16.120.12 &

如果启动报错,错误信息如下:

/usr/local/jdk1.8.0_321/bin/jstatd -J-Djava.security.policy=jstatd.all.policy -J-Djava.rmi.server.hostname=172.16.120.12
Could not create remote object
access denied ("java.util.PropertyPermission" "java.rmi.server.ignoreSubClasses" "write")
java.security.AccessControlException: access denied ("java.util.PropertyPermission" "java.rmi.server.ignoreSubClasses" "write")
    at java.security.AccessControlContext.checkPermission(AccessControlContext.java:472)
    at java.security.AccessController.checkPermission(AccessController.java:886)
    at java.lang.SecurityManager.checkPermission(SecurityManager.java:549)
    at java.lang.System.setProperty(System.java:792)
    at sun.tools.jstatd.Jstatd.main(Jstatd.java:139)
​

解决办法:修改/usr/local/jdk1.8.0_321/jre/lib/security/java.policy文件,并在最后增加如下内容:

//添加下面内容
permission java.security.AllPermission;

添加完,整体文件如下:

// Standard extensions get all permissions by default
​
grant codeBase "file:${{java.ext.dirs}}/*" {
        permission java.security.AllPermission;
};
​
// default permissions granted to all domains
​
grant {
        // Allows any thread to stop itself using the java.lang.Thread.stop()
        // method that takes no argument.
        // Note that this permission is granted by default only to remain
        // backwards compatible.
        // It is strongly recommended that you either remove this permission
        // from this policy file or further restrict it to code sources
        // that you specify, because Thread.stop() is potentially unsafe.
        // See the API specification of java.lang.Thread.stop() for more
        // information.
        permission java.lang.RuntimePermission "stopThread";
​
        // allows anyone to listen on dynamic ports
        permission java.net.SocketPermission "localhost:0", "listen";
​
        // "standard" properies that can be read by anyone
​
        permission java.util.PropertyPermission "java.version", "read";
        permission java.util.PropertyPermission "java.vendor", "read";
        permission java.util.PropertyPermission "java.vendor.url", "read";
        permission java.util.PropertyPermission "java.class.version", "read";
        permission java.util.PropertyPermission "os.name", "read";
        permission java.util.PropertyPermission "os.version", "read";
        permission java.util.PropertyPermission "os.arch", "read";
        permission java.util.PropertyPermission "file.separator", "read";
        permission java.util.PropertyPermission "path.separator", "read";
        permission java.util.PropertyPermission "line.separator", "read";
​
        permission java.util.PropertyPermission "java.specification.version", "read";
        permission java.util.PropertyPermission "java.specification.vendor", "read";
        permission java.util.PropertyPermission "java.specification.name", "read";
​
        permission java.util.PropertyPermission "java.vm.specification.version", "read";
        permission java.util.PropertyPermission "java.vm.specification.vendor", "read";
        permission java.util.PropertyPermission "java.vm.specification.name", "read";
        permission java.util.PropertyPermission "java.vm.version", "read";
        permission java.util.PropertyPermission "java.vm.vendor", "read";
        permission java.util.PropertyPermission "java.vm.name", "read";
        //添加下面内容
        permission java.security.AllPermission;
};

再次运行jstatd命令就不会报错了,命令如下:

./jstatd -J-Djava.security.policy=jstatd.all.policy -J-Djava.rmi.server.hostname=172.16.120.12 &

三、远程连接

在windows系统中java安装目录中jdk/bin/目录下的jvisualvm.exe启动程序。双击启动。

JVM调优工具-VisualVM 远程连接服务器,开发语言,jvm,java,运维,服务器,linux

点击确认,就连接成功了。

JVM调优工具-VisualVM 远程连接服务器,开发语言,jvm,java,运维,服务器,linux文章来源地址https://www.toymoban.com/news/detail-789343.html

到了这里,关于JVM调优工具-VisualVM 远程连接服务器的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 在服务器的docker容器中安装Anaconda配置环境以及使用编程工具远程连接环境

    一、连接服务器下载Anaconda 3 使用win+r输入cmd打开命令行,在命令行中输入ssh -p xxxxx(你的端口号如10101,下图红色部分)  root@xxx.xxx.xxx.xxx(服务器ip地址下图蓝色部分)   第一次连接时,连接没问题会出现Are you sure you want to continue connecting (yes/no/[fingerprint])?之后就不会出现了。 输

    2024年02月03日
    浏览(45)
  • Ubuntu安装MySQL服务器详细步骤(包括设置外网利用Navicat等工具远程连接MySQL服务器)!——一看就会,跟着做就对!

    在开始安装前,先更新一下系统。命令如下: sudo apt update sudo apt upgrade 使用APT方式安装MySQL8时,通常会安装MySQL的最新版本,且能够自动配置服务和环境变量。 sudo apt install mysql-server -y 安装完成后,MySQL会自动启动,可以使用以下命令测试MySQL安装情况 sudo service mysql status 或

    2024年02月05日
    浏览(56)
  • Tomcat 服务器的内存和连接数调优设置

    Tomcat 是一个广泛使用的 Java Web 应用服务器,为了确保其性能和可靠性,我们可以对其进行一些调优设置,特别是内存和连接数方面的设置。本文将介绍如何通过修改 Tomcat 的配置文件来优化内存和连接数。 调整内存设置: Tomcat 的内存设置涉及到两个参数:初始内存 (Xms) 和

    2024年02月22日
    浏览(37)
  • vscode 远程连接内网服务器和通过跳板机远程连接外网服务器

    若本地没有id_rsa文件,可打开cmd进入.ssh目录下输入命令:ssh-keygen,创建该文件,会提示输入该文件保存地址以及设置秘钥密码(最好不要设置密码,不然不方便免密登录,直接按回车键生成密钥),按需输入即可;详细方法见博客vscode通过跳板机远程服务器 生成密钥和公钥

    2024年01月18日
    浏览(53)
  • 解决远程连接服务器没有远程桌面授权服务器的许可证问题

    解决办法: 1,win键+R打开运行器,使用mstsc -admin命令强制远程 2、输入远程服务器ip、用户名和密码,忽略证书问题的提示框,即可连接进入远程桌面  3,在远程桌面中,打开远程服务器的运行框,使用regedit命令打开注册表  4, 进入计算机HKEY_LOCAL_MACHINESYSTEMCurrentControlS

    2024年02月07日
    浏览(51)
  • 【Linux】远程桌面连接服务器报错:未启用对服务器的远程访问......

    🍁 博主简介   🏅云计算领域优质创作者   🏅华为云开发者社区专家博主   🏅阿里云开发者社区专家博主 💊 交流社区: 运维交流社区 欢迎大家的加入! 我们知道,我们日常通过vnc来远程管理linux图形界面,今天分享一工具Xrdp,它是一个开源工具,允许用户通过

    2024年02月04日
    浏览(54)
  • ssh远程连接服务器

    1.1 远程连接服务器简介 1 、什么是远程连接服务器? 远程连接服务器通过文字或图形接口方式来远程登录系统,让你在远程终端前登录linux主机以取得可操作主机接口(shell),而登录后的操作感觉就像是坐在系统前面一样。 2 、远程连接服务器的功能 分享主机的运算能力

    2024年02月12日
    浏览(47)
  • 使用 FinalShell 进行远程连接(ssh 远程连接 Linux 服务器)

    目录 前言 基本使用教程 新建远程连接 连接主机 自定义命令 路由追踪 后端开发,必然需要和服务器打交道,部署应用,排查问题,查看运行日志等等。一般服务器都是集中部署在机房中,也有一些直接是云服务器,总而言之,程序员不可能直接和服务器直接操作,一般都是

    2024年04月16日
    浏览(76)
  • 外网ssh远程连接服务器

    同一个局域网内远程ssh连接服务器,只需要知道服务器的IP地址就可以实现连接。但是在不同的局域网下,我们想要通过 外网远程连接服务器 (应用场景:在家远程连接公司的服务器,在家远程连接学校实验室的服务器…)应该如何实现呢? 原理: 通过 内网穿透 实现ssh远

    2024年01月25日
    浏览(62)
  • SSH 无法连接远程服务器

    解决办法 1.进入服务器 执行 cat /etc/ssh/sshd_config查看SSH服务配置 2.执行命令 vi /etc/ssh/sshd_config,按下 i 编辑SSH服务配置文件,将参数 PasswordAuthentication 设置为 yes,或者在 PasswordAuthentication 参数前添加井号(#),按下 Esc 退出编辑模式,并输入 :wq 保存退出。 4.重启SSH服务 问题

    2024年02月12日
    浏览(51)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包