gpt4 book ai didi

java - jps、jinfo、jstat、jmap、jstack是如何获取本地Java进程信息的?

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:50:18 25 4
gpt4 key购买 nike

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

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

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

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

最佳答案

jps通过扫描 /tmp/hsperfdata_<username> 找到正在运行的 Java 进程目录。每个基于 HotSpot 的 Java 进程在此目录中创建一个文件,其名称等于进程 ID。

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

所以,jstat总是可以读取本地 Java 进程的计数器,但为了能够监视远程机器,jstatd需要运行。

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

关于java - jps、jinfo、jstat、jmap、jstack是如何获取本地Java进程信息的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55670135/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com