jps,jinfo,jstat,jmap和jstack如何获取有关本地Java进程的信息? [关闭]

问题描述 投票:0回答:1

jps如何获得有关所有本地java流程的信息?它是否连接到某个本地服务器进程以获取信息?

jinfo, jstat, jmapjstack如何获得有关当地java流程的信息?他们是否连接到某些本地服务器进程以获取信息?

jstatd仅用于提供对本地java进程的远程访问,而不是用于提供对本地java进程的本地访问吗?

我正在运行Ubuntu。我的问题来自https://stackoverflow.com/a/55669949/156458

java linux process jvm
1个回答
4
投票

qazxsw poi通过qazxsw poi目录扫描查找正在运行的Java进程。每个基于HotSpot的Java进程在此目录中创建一个名称等于进程ID的文件。

文件jps包含JVM导出的各种计数器。这些计数器可以由外部进程读取。这正是/tmp/hsperfdata_<username>的工作原理。我在/tmp/hsperfdata_<username>/<pid>中描述了jvmstat性能计数器。

因此,jstat总是可以读取本地Java进程的计数器,但是为了能够监视远程计算机,需要运行JavaMagazine article

jstatjstatdjmap使用动态附加机制。这些实用程序通过UNIX域套接字连接到目标JVM,并将相应的命令发送到JVM。该命令由远程JVM本身执行。在jstackjinfo中找到有关Dynamic Attach的更多信息。

© www.soinside.com 2019 - 2024. All rights reserved.