linux 中怎么查看jvm信息

发布时间:2021-06-21 16:30:33 作者:Leah
来源:亿速云 阅读:776
# Linux 中怎么查看 JVM 信息

在 Linux 环境下管理和监控 Java 应用程序时,查看 JVM(Java Virtual Machine)的运行状态、配置参数和性能指标是开发者及运维人员的常见需求。本文将详细介绍多种命令行工具和方法,帮助您全面获取 JVM 的运行信息。

## 1. 使用 `jps` 查看 Java 进程

`jps`(Java Virtual Machine Process Status Tool)是 JDK 自带的工具,用于列出当前系统中所有的 Java 进程及其主类名和进程 ID。

```bash
jps -l

输出示例:

12345 com.example.MainApplication
67890 sun.tools.jps.Jps

常用选项: - -q:仅显示进程 ID - -m:显示传递给 main 方法的参数 - -v:显示 JVM 启动参数

2. 通过 jinfo 查看 JVM 配置

jinfo 可以实时查看和修改某个 Java 进程的 JVM 参数:

jinfo <pid>

若要查看特定参数(如堆内存配置):

jinfo -flags <pid>

3. 使用 jstat 监控性能指标

jstat 提供丰富的 JVM 统计信息,包括类加载、垃圾回收、编译情况等。

查看 GC 统计(每 1 秒刷新一次):

jstat -gcutil <pid> 1000

关键列说明: - S0/S1:Survivor 区使用率 - E:Eden 区使用率 - O:老年代使用率 - M:元空间使用率 - YGC/FGC:Young GC/Full GC 次数

4. 通过 jmap 分析内存使用

查看堆内存摘要

jmap -heap <pid>

生成堆转储文件(用于 MAT 分析)

jmap -dump:format=b,file=heap.hprof <pid>

查看存活对象统计

jmap -histo:live <pid>

5. jcmd 综合诊断工具

JDK 7+ 提供的全能工具,支持多种诊断操作:

列出所有可用命令:

jcmd <pid> help

查看 JVM 系统属性:

jcmd <pid> VM.system_properties

生成线程转储(替代 jstack):

jcmd <pid> Thread.print

6. 图形化工具

Java Mission Control (JMC)

jmc

提供实时监控、飞行记录器(Flight Recorder)和堆分析功能。

VisualVM

jvisualvm

支持 CPU/内存采样、线程分析、MBean 查看等功能。

7. 通过 JMX 远程监控

在启动应用时添加 JMX 参数:

java -Dcom.sun.management.jmxremote \
     -Dcom.sun.management.jmxremote.port=9010 \
     -Dcom.sun.management.jmxremote.ssl=false \
     -Dcom.sun.management.jmxremote.authenticate=false \
     -jar app.jar

使用 jconsole 连接:

jconsole <host>:<port>

8. 常用组合命令示例

快速查看关键信息

ps aux | grep java | grep -v grep | awk '{print $2}' | xargs -I {} sh -c 'echo "PID: {}"; jinfo -flags {} | grep Xmx'

监控 GC 频繁情况

watch -n 1 "jstat -gc <pid> | awk '{print \$12,\$13}'"

总结

工具 主要用途 适用场景
jps 快速定位 Java 进程 进程管理
jstat 实时性能监控 GC 调优
jmap 内存分析 内存泄漏调查
jcmd 综合诊断 JDK 7+ 环境全面分析
JMX 远程监控 生产环境监控

掌握这些工具的组合使用,可以高效诊断 JVM 性能问题。建议在日常开发中积累常用命令,形成自己的排查工具箱。 “`

注:实际使用时请将 <pid> 替换为实际的 Java 进程 ID。所有工具均需在 JDK 环境下运行(非 JRE)。

推荐阅读:
  1. linux如何查看cpu信息
  2. Linux raid怎么查看日志信息

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

linux jvm

上一篇:IDEA中怎么创建xml文件

下一篇:为什么JS会有原型的概念

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》