杰瑞科技汇

Windows下如何快速查看Java进程?

使用任务管理器 (最简单直观)

这是最快速、最常用的方法,适合日常监控。

Windows下如何快速查看Java进程?-图1
(图片来源网络,侵删)
  1. 打开任务管理器

    • 快捷键:按下 Ctrl + Shift + Esc
    • 右键点击任务栏:选择“任务管理器”。
    • 开始菜单:按 Ctrl + Alt + Del,然后选择“任务管理器”。
  2. 查看进程

    • 在“进程”或“详细信息”选项卡下,你会看到所有正在运行的程序和进程。
    • 找到名称为 java.exe 的进程,这就是 Java 进程。
  3. 获取关键信息

    • PID (进程ID)为“PID”或“进程 ID”的列下,你可以看到该 Java 进程的唯一标识符,这在其他命令行工具中非常有用。
    • 命令行:在 Windows 10/11 的任务管理器中,你可以右键点击列标题,勾选“命令行”或“命令”,这样你就能看到启动这个 Java 进程时使用的完整命令,包括 java 命令、主类名以及传递给程序的参数(如 -jar yourapp.jar-Xmx512m 等),这是非常有用的信息!
    • CPU/内存使用率:你可以直观地看到哪个 Java 进程占用了最多的系统资源。

优点:图形界面,操作简单,信息直观。 缺点:对于复杂的 Java 应用(如大型服务器),信息不够详细。

Windows下如何快速查看Java进程?-图2
(图片来源网络,侵删)

使用命令行 (功能更强大)

如果你习惯使用命令行或者需要更详细的信息,可以使用 jpstasklist 命令。

使用 jps (Java Virtual Machine Process Status Tool)

jps 是 JDK 自带的专用工具,专门用来查看 Java 进程,非常方便。

  1. 打开命令提示符 (CMD) 或 PowerShell

    • 在开始菜单中搜索 cmdpowershell,然后打开。
  2. 运行 jps 命令

    Windows下如何快速查看Java进程?-图3
    (图片来源网络,侵删)
    • 直接输入 jps 并回车。
      jps

      你会看到一个列表,显示所有 Java 进程的 PID主类名JAR 文件名

      1234 Bootstrap
      5672 jar
      8901 sun.tools.jps.Jps
    • 1234 是进程 ID。
    • Bootstrap 是主类名。
    • 5672 jar 表示这个进程是通过 java -jar 命令启动的。
  3. 使用 jps 的其他常用选项

    • jps -l:显示完整的主类名或 JAR 文件的完整路径。
    • jps -v:显示传递给 JVM 的参数(如 -Xms, -Xmx 等)。
    • jps -m:传递给 main 方法的参数。

优点:JDK 自带,专门针对 Java 进程,简洁高效。 缺点:需要 JDK 环境变量配置正确才能使用。

使用 tasklist (Windows 命令)

tasklist 是 Windows 系统自带的命令,可以查看所有进程,不限于 Java。

  1. 打开命令提示符 (CMD) 或 PowerShell

  2. 运行 tasklist 命令

    • 基础用法:
      tasklist
    • 筛选 Java 进程:使用 findstr 命令可以只显示包含 "java" 的行,这样更清晰。
      tasklist | findstr "java"
    • 显示详细信息:可以添加 /fo (format) 和 /v (verbose) 参数来获取更详细的信息,包括命令行。
      tasklist /fo table /v | findstr "java"

      这会以表格形式显示所有详细信息,并只筛选出 Java 相关的进程。

优点:Windows 自带,无需安装 JDK。 缺点:相比 jps,信息不够“Java 化”,需要结合 findstr 使用。


使用专业工具 (功能最全面)

对于 Java 开发人员来说,使用专业的诊断工具是最佳选择。

JConsole

JConsole 是 JDK 自带的图形化工具,可以监控 Java 应用程序的内存使用、线程、类加载等信息。

  1. 启动 JConsole

    • 在命令行中输入 jconsole 并回车。
  2. 连接进程

    • JConsole 会自动扫描本机上所有运行的 Java 进程。
    • 在进程列表中,选择你要监控的进程,点击“连接”。
    • 你就可以看到该进程的详细运行状态,如堆内存使用情况、线程死锁、CPU 时间等。

优点:功能强大,可视化监控,JDK 自带。 缺点:仅用于监控,无法像 jps 那样快速列出所有进程的 PID 和主类。

VisualVM

VisualVM 是比 JConsole 更强大的工具,同样是 JDK 自带的,它不仅能监控,还能进行性能分析、内存快照、线程转储等。

  1. 启动 VisualVM

    • 在命令行中输入 jvisualvm 并回车。
  2. 查看和分析进程

    • 在左侧的“本地”节点下,你会看到所有本地运行的 Java 进程。
    • 右键点击任意一个进程,可以选择:
      • 监控:类似 JConsole 的实时监控。
      • 线程:查看线程状态,可以生成线程转储(Thread Dump)来排查死锁或性能问题。
      • 抽样器:进行 CPU 或内存的性能分析。
      • 堆栈:生成堆内存快照,用于分析内存泄漏。

优点:功能极其强大,是 Java 开发者的必备工具。 缺点:功能相对复杂,初学者可能需要一些时间上手。


总结与对比

工具/方法 优点 缺点 适用场景
任务管理器 图形界面,操作简单,直观 信息不够详细 日常快速查看,排查卡顿问题
jps JDK 自带,简洁,专门针对 Java 需要 JDK 环境 快速获取 Java 进程的 PID 和主类名
tasklist Windows 自带,无需 JDK 信息不够“Java 化” 没有 JDK 环境时,快速查找 Java 进程
JConsole 图形化监控,功能专业 功能相对单一,仅用于监控 实时监控 Java 应用的运行状态
VisualVM 功能最全面,可进行性能分析 功能复杂,学习成本高 深入分析 Java 应用性能、排查内存泄漏、线程问题

常用操作流程示例

场景:你的服务器上跑了一个 Java 应用,它突然变得很慢,你想知道是哪个进程以及它占用了多少资源。

  1. 快速定位

    • 打开任务管理器,在“详细信息”标签页下,按 Ctrl + F 搜索 java
    • 你会看到几个 java.exe 进程,找到 CPU 或内存占用最高的那个,记下它的 PID
  2. 查看详细信息

    • 在任务管理器中,右键点击该进程,选择“属性”或勾选“命令行”列,查看启动参数和主类/JAR包信息。
    • 或者,在 CMD 中运行 jps -v | findstr "你的PID",查看 JVM 参数。
  3. 深入分析

    • 如果怀疑是线程问题,可以打开 VisualVM,连接到该 PID,进入“线程”页面,生成线程转储分析。
    • 如果怀疑是内存问题,可以在 VisualVM 中生成堆快照进行分析。

通过以上组合方法,你就可以在 Windows 系统上全面地查看和分析 Java 进程了。

分享:
扫描分享到社交APP
上一篇
下一篇