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

为了安全考虑, 有些服务器会被限制登录. 本文介绍如何获取远程服务器上 Java 进程的运行状态.

启动 jstatd 服务

在服务器端启动 jstatd 服务后, 远程的机器可以通过 rmi 协议获取服务器上 Java 程序的运行状态.

在服务器上创建 jstatd 的授权文件, 假设文件路径为/etc/jstatd.all.policy, 内容如下:

grant codebase "file:/usr/local/java/lib/tools.jar" {

permission java.security.AllPermission;

};

如果你的JAVA_HOME目录不是/usr/local/java的话, 请改为正确的值.

接下来通过以下命令启动 jstatd 服务:

jstatd -J-Djava.security.policy=/etc/jstatd.all.policy -p 12345

需要注意的地方有:

授权文件的路径需要改成你自己的, 最好使用绝对路径.

-p参数指定 jstatd 服务监听的端口. 如果不指定的话, 默认的端口为 1009. 不过从我自己的实践来看, 最好还是设定一个比1024大的端口号.

远程使用jps, jstat命令

在服务器上启动 jstatd 服务之后, 就可以在自己的机器上查看服务器上运行的 Java 进程了. 假设服务器的IP为 192.168.2.37, jstatd 服务监听的端口号为 12345.

首先通过 jps 命令获取服务器上运行的 Java 进程列表:

jps -l rmi://192.168.2.37:12345

拿到 Java 进程的 pid 列表之后, 可以通过 jstat 命令获取某个进程的 GC 信息:

jstat -gcutil rmi://39939@192.168.2.37:12345 1000 1000

其中 39939 表示 Java 进程的pid.

远程使用 VisualVM 监控 Java 应用

通过VisualVM, 可以在图形面板上看到很多 Java 应用的信息, 相当于多个命令(jps, jstat, jstack, jmap, jinfo)的集合.

VisualVM 是一个图形应用, 只能运行在本机, 然后通过远程连接, 获取服务器上的 Java 应用的信息.

通过 $JAVA_HOME/bin/jvisualvm 命令启动 VisualVM, 点击下图的红框部分, 输入要连接服务器的IP地址:

a0c19e31a54ee12be10273c6ef49b6ef.png

然后右键点击服务器地址, 可以看到能够通过2种方式连接服务器, 分别是 jmx 和 jstatd.

00e0ea42af3264eba7e1c466980e27f5.png

按照上述的步骤在服务器上启动 jstatd 服务后, 就能够以 jstatd 的形式连接到远程服务器了.

VisualVM 通过 jstatd 连接的方式能够获取的信息比较有限. 如果想获取更完整的 Java 应用信息, 可以通过 jmx 的方式连接服务器上的 Java 进程. 需要在启动 Java 应用的时候, 指定以下和 jmx 相关的参数:

-Djava.rmi.server.hostname=10.11.2.139 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.port=9090

java.rmi.server.hostname参数指定ip或者host, com.sun.management.jmxremote.port参数指定 jmx 监听的端口.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/301850.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

聊一聊Elasticsearch和MySQL的常用操作

前言 ElasticSearch,开源的搜索和数据分析引擎,也是名列前茅的 nosql。很多时候会想拿它和关系型数据库做对比,严格上它们是没有太多可比性的。不过把有的东西放在一起比较,会帮助我们快速去理解一些 ElasticSearch 的内容。老黄这…

入门Python,限时1元!

爆竹声中一岁除,春风送暖入屠苏。猪年来袭,小天先跟各位模粉拜年啦!当然,小天还准备了限时福利送给大家~套路?不存在的!限时9元1深度学习限时体验第一章 深度学习概述与计算机视觉挑战1.1深度学习概述1.2 挑…

使用 Bridge to Kubernetes 简化云端开发

当我们面对一个大型应用程序,它有大量的微服务,并希望完成一些功能开发?我们面临许多挑战,其中之一将是处理正确的环境,如何进行开发。我们知道,在团队中解决这个问题的最佳方法是将其容器化并在云上托管。…

菜鸟学习数据科学家 5 大误区

全世界只有3.14 % 的人关注了数据与算法之美你准备好要成为一名数据科学家,积极的参加Kaggle比赛和Coursera的讲座。虽然这一切都准备好了,但是一名数据科学家的实际工作与你所期望的却是大相径庭的。本文研究了作为数据科学家新手的5个常见错误。这是由…

java多线程 sycophantic_Java多线程volatile和synchronized总结

volatile是轻量级的synchronized,在多处理器(多线程)开发中保证了共享变量的“可见性”。可见性表示当一个线程修改了一个共享变量时,另外一个线程能读到这个修改的值。正确的使用volatile,能比synchronized的使用和执行成本更低,…

春节特惠活动┃不只是舒适,简直是享受,Google公司用的腰靠,到底有什么秘密?...

▲数据汪特别推荐点击上图进入玩酷屋之前小木推荐“德国MINICUTE人体工学腰垫”受到了大家一致的好评和争相购买。小木为什么推荐这一款原因是:据统计,我国腰椎病患者已经突破2亿人。30~40岁人群中,患有颈腰椎病的占比59.1%!而且有…

春节特惠活动┃给孩子讲100个科学道理,不如带他做这些趣味实验!

▲数据汪特别推荐点击上图进入玩酷屋玩具和学习看似是两个对立的东西,孩子天性爱玩,家长却希望孩子能多学习。不一定非要啃课本才能汲取知识,有时候,在轻松有趣的游戏中也能学到课堂上学不到的知识。让学习变得有趣、高效——给孩…

linux java 进程监控工具_推荐4个好用的Linux监控工具

本文介绍了作者常用的 4 个 Linux 监控工具,希望可以帮助读者提高生产力。身为一个运维开发人员,如果你不知道眼下当前服务器底层操作系统中正在发生什么,那就有点合眼摸象了。其实,你可以根据相应数据做出一定的推测,…

看TensorFlow如何玩转深度学习

自 2015 年 11 月 9 号发布之后,TensorFlow 逐渐成为人工智能领域最广泛运用的深度学习框架。TensorFlow 是一个大规模机器学习的开源框架,提供了多种深度神经网络的支持。不仅 Google 在自己的产品线使用 TensorFlow,包括联想、小米、新浪网…

春节特惠活动┃数学无用论??我们欠孩子真正的数学阅读

▲数据汪特别推荐点击上图进入玩酷屋说到数学,我想起了13年一场轰动行业各界的“数学无用论”!那时微博上有个话题叫做#让数学滚出高考#,超过7成网友都表示支持,这可怕的比例就能说明在中国由于数学差导致命运被洗牌的真不在少数……

python pytest allure_python测试框架pytest和测试报告allure的联合使用-----测试套件

最近采用jenkinspythonpytestallure写了一些自动化测试用例。碰到这样一种场景:如果我创建了2个测试任务,测试任务1包含2个测试用例test_a.py和test_b.py,测试任务2包含一个测试用例test_c.py。一. 常规操作假设我的代码目录结构有如下3个测试…

那天,我无意间瞟了眼程序员的桌面……

全世界只有3.14 % 的人关注了数据与算法之美爱因斯坦曾说过“要是乱糟糟的桌面意味着杂乱无章的脑袋,那空白桌面意味着什么呢?似乎很多在某些领域拥有天赋的人都不喜欢干净整洁的桌面,包括乔布斯和扎克伯格也是,甚至有的人一看到整…

.Net Core with 微服务 - Ocelot 网关

上一次我们通过一张架构图(.Net Core with 微服务 - 架构图)来讲述了微服务的结构,分层等内容。从现在开始我们开始慢慢搭建一个最简单的微服务架构。这次我们先用几个简单的 web api 项目以及 ocelot 网关项目来演示下网关是如何配置&#x…

60 Minutes专访李开复:泛人工智能可能永远实现不了

全世界只有3.14 % 的人关注了数据与算法之美尽管你听说过人工智能,但机器仍然无法像人类一样思考,但在过去的几年里,它们已经具备了学习的能力。突然之间,我们的设备睁开了眼睛和竖起了耳朵,汽车开始无人行驶。今天&am…

API之子窗口创建 (转)

子窗口的创建非常非常重要 步骤:1、新建窗口类,在窗口类中指名对应的自定义的窗口过程。窗口类类名要唯一,它 是各窗口类相互区别的标识。注意,类名或为静态变量,或为全局变量,因为程 序随时都用他们。…

java 支付宝 退款_Java 支付宝支付,退款,单笔转账到支付宝账户(支付宝支付)

最近一直在接触第三方,刚接入完支付宝的API做一下总结,个人能力薄弱有不对的地方望指教. 做的是一个小型电商项目,所以会接入第三方的支付和登入功能, 第一次接入第三方撸了很多官方文档.然后创建应用选择需要接入的功能,有些应用是需要签约的签约就好了审核蛮快的.以上应用申…

DB排行榜更新,.NET Core+MySQL成主流!

上图是DB-Engines数据库流行度最新排行榜,Oracle、MySQL、SQLServer虽几经下滑,然而还是遥遥领先的前三名。后起之秀PostgreSQL和MongoDB持续增长,然而在体量上还相差甚远,可以预见这些年,三大关系型数据库的主流地位是…

史上最惨锦鲤即将来袭!奖品堪比5年高考3年模拟!

全世界只有3.14 % 的人关注了数据与算法之美在锦鲤盛行的2018年我们超级数学建模也跟风来了一个“史上最惨锦鲤”活动为什么叫史上最惨锦鲤呢因为平常看一本数学书就已经头疼了何况我们奖品还是100本数学书试问除了学霸还有谁能承受这种殊荣巧的是最后的得主还真是一个学霸那就…

人工智能读心术

全世界只有3.14 % 的人关注了数据与算法之美对于许多无法发出声音的人来说,他们想说的话会通过某种信号隐藏在大脑中。人类无法直接破译这些信号。但是,最近有三个研究小组在“破译”这种大脑语言密码上取得了一定进展。Science杂志最新报道了哥伦比亚大…

今日港股期货(港股期货今日交易动向)

港股期货收涨0.6% 首次突破31000点 今日港股期货大涨,形势一时看好。其中,恒生指数期货一度突破31000点关口,创出历史新高。分析人士表示,市场情绪积极,投资者对于全球经济复苏前景和中国经济增长的预期不断提高&…