当前位置: 首页 > news >正文

jps用法整理

以下是关于 jps 命令的详细教学,涵盖其基本用法、参数说明、实际应用和常见问题解析。


1. 什么是 jps

jpsJava Virtual Machine Process Status Tool(JVM 进程状态工具),是 JDK 提供的用于查看当前系统中运行的 Java 进程 的命令行工具。它可以列出 Java 进程的 进程 ID(PID)主类名启动参数 等信息。


2. jps 的基本语法

jps [options] [hostid]
  • options:控制输出格式的参数(如 -q-l-m 等)。
  • hostid:指定远程主机(格式为 <hostname>[:<port>]),默认为本地主机。

3. 常用参数详解

(1) -q(Quiet Mode)
  • 作用:仅显示 Java 进程的 PID,不显示主类名或参数。
  • 示例
    jps -q
    
    输出
    1
    19426
    
(2) -l(Long Format)
  • 作用:显示主类的 完整包名JAR 文件的完整路径
  • 示例
    jps -l
    
    输出
    1 /app/prod.jar
    19454 sun.tools.jps.Jps
    
(3) -m(Main Method Parameters)
  • 作用:显示传递给 main 方法的参数
  • 示例
    jps -m
    
    输出
    1 prod.jar
    19454 Jps -m
    
(4) -v(JVM Parameters)
  • 作用:显示传递给 JVM 的参数(如 -XX:MaxRAMPercentage=40)。
  • 示例
    jps -v
    
    输出
    1 prod.jar -XX:MaxRAMPercentage=40 -XX:ActiveProcessorCount=6
    19454 Jps -Dapplication.home=/usr/lib/jvm/java-14-openjdk -Xms8m
    
(5) -V(Flags File Parameters)
  • 作用:显示通过 .hotspotrc 文件-XX:Flags=<filename> 指定的 JVM 参数(较少使用)。
  • 示例
    jps -V
    

4. 实际应用示例

场景 1:查找 Java 进程
  • 需求:查看当前系统中运行的所有 Java 进程。
  • 命令
    jps
    
    输出
    1 prod.jar
    19454 Jps
    
场景 2:监控 JVM 参数
  • 需求:查看某个 Java 进程的 JVM 参数(如内存设置)。
  • 命令
    jps -v 1
    
    输出
    1 prod.jar -XX:MaxRAMPercentage=40 -XX:ActiveProcessorCount=6
    
场景 3:结合其他工具分析
  • 需求:分析 Java 进程的线程状态(如死锁)。
  • 步骤
    1. 使用 jps 获取进程 PID:
      jps -q
      
    2. 使用 jcmdjstack 生成线程转储:
      jcmd 1 Thread.print
      
场景 4:远程主机查询
  • 需求:查询远程服务器上的 Java 进程。
  • 命令
    jps -l <hostname>:<port>
    
    示例
    jps -l remote-server:12345
    

5. 常见问题与解决方法

(1) 为什么 jps 无法显示其他用户的 Java 进程?
  • 原因jps 只能显示 当前用户 的 Java 进程。
  • 解决方法:使用 ps 命令结合 grep 查询:
    ps -ef | grep java
    
(2) 为什么某些参数(如 -m)没有显示主类参数?
  • 原因:如果 Java 应用通过 JAR 包启动,-m 参数可能不会显示实际传入 main 方法的参数。
  • 解决方法:检查启动脚本或容器配置(如 Dockerfile)。
(3) 如何查看 jps 的帮助信息?
  • 命令
    jps -help
    

6. jps 的典型使用场景

场景命令说明
查找 Java 进程jps快速列出所有 Java 进程的 PID 和主类名。
监控 JVM 参数jps -v <PID>查看 JVM 的内存、GC 等参数设置。
分析线程问题jps + jcmd Thread.print生成线程转储,排查死锁或线程阻塞问题。
结合 jstat 分析性能jps + jstat监控 GC、内存、类加载等 JVM 统计信息。
容器环境调试jps + /proc/<PID>/cmdline查看容器中 Java 应用的启动参数(如 docker 容器)。

7. 总结

  • 核心功能jps 是 Java 开发和运维中用于快速查看 Java 进程状态的工具。
  • 常用参数-q(仅 PID)、-l(完整类名)、-m(主类参数)、-v(JVM 参数)。
  • 进阶用法:结合 jcmdjstackjstat 等工具进行性能调优和问题排查。
  • 注意事项jps 仅显示当前用户进程,远程查询需配置 hostid

8. 扩展工具推荐

工具用途
jstat监控 JVM 内存、GC、类加载等统计信息。
jstack生成线程转储,分析线程状态和死锁。
jmap分析堆内存使用情况,导出堆转储。
jcmd执行 JVM 诊断命令(如 Thread.print)。

通过熟练掌握 jps 及其相关工具,可以高效地定位和解决 Java 应用的性能问题。

http://www.dtcms.com/a/290606.html

相关文章:

  • CSS的content属性妙用指南
  • 深度解析 HTML `loading` 属性:优化网页性能的秘密武器
  • 复习前端html,css,javascript
  • 一个适合MCU的分级菜单框架
  • 广播(Broadcast)和组播(Multicast)对比
  • docker磁盘空间不足解决办法
  • 【Qt Designer使用快捷键】
  • 【iOS】锁[特殊字符]
  • 18 零基础学webUI | Controlnet精讲(04)-图像风格转换类条件控图详解
  • 3、Spring AI_DeepSeek模型-多轮对话
  • Java在POJO中标记字段不需要被持久化到数据库,以及标记字段在对象序列化时忽略
  • 2025最新版IntelliJ IDEA Ultimate for Mac专业版安装使用指南
  • websocket和https的区别
  • 多尺度卷积模型:Inception块
  • 基于单片机儿童滞留车内防滞留系统
  • Go中的UDP编程:实战指南与使用场景
  • C语言重难点小复习(结构体/联合体/枚举)
  • 字节内部流传的数据分析手册
  • 浙江宁波,天一阁古籍资源(5262种,PDF格式,1.26T)
  • Redis的五大基本数据类型
  • Linux | C Shell 与 Bash 的差异 / 环境变量配置问题解析
  • 数学公式Latex语法快速入门
  • RANsemi 推出适用于 Split 7.2 Open RAN 无线电单元的即插即用基带板
  • ps aux 和 ps -ef
  • RNS805 是针对 O-RAN 联盟兼容 Cat A O-RU 优化的 SoC,符合 3GPP 5G/4G 标准。
  • 模式识别与机器学习课程笔记(1):数学基础
  • 【深度学习新浪潮】如何系统性地学习扩散模型?
  • Elasticsearch 是 NVIDIA Enterprise AI Factory 验证设计中推荐的向量数据库
  • WAMP配置局域网https服务
  • 旋转目标检测(Rotated Object Detection)技术概述