使用任务管理器 (最简单直观)
这是最快速、最常用的方法,适合日常监控。

-
打开任务管理器
- 快捷键:按下
Ctrl + Shift + Esc。 - 右键点击任务栏:选择“任务管理器”。
- 开始菜单:按
Ctrl + Alt + Del,然后选择“任务管理器”。
- 快捷键:按下
-
查看进程
- 在“进程”或“详细信息”选项卡下,你会看到所有正在运行的程序和进程。
- 找到名称为
java.exe的进程,这就是 Java 进程。
-
获取关键信息
- PID (进程ID)为“PID”或“进程 ID”的列下,你可以看到该 Java 进程的唯一标识符,这在其他命令行工具中非常有用。
- 命令行:在 Windows 10/11 的任务管理器中,你可以右键点击列标题,勾选“命令行”或“命令”,这样你就能看到启动这个 Java 进程时使用的完整命令,包括
java命令、主类名以及传递给程序的参数(如-jar yourapp.jar或-Xmx512m等),这是非常有用的信息! - CPU/内存使用率:你可以直观地看到哪个 Java 进程占用了最多的系统资源。
优点:图形界面,操作简单,信息直观。 缺点:对于复杂的 Java 应用(如大型服务器),信息不够详细。

使用命令行 (功能更强大)
如果你习惯使用命令行或者需要更详细的信息,可以使用 jps 和 tasklist 命令。
使用 jps (Java Virtual Machine Process Status Tool)
jps 是 JDK 自带的专用工具,专门用来查看 Java 进程,非常方便。
-
打开命令提示符 (CMD) 或 PowerShell
- 在开始菜单中搜索
cmd或powershell,然后打开。
- 在开始菜单中搜索
-
运行
jps命令
(图片来源网络,侵删)- 直接输入
jps并回车。jps
你会看到一个列表,显示所有 Java 进程的 PID 和 主类名 或 JAR 文件名。
1234 Bootstrap 5672 jar 8901 sun.tools.jps.Jps 1234是进程 ID。Bootstrap是主类名。5672 jar表示这个进程是通过java -jar命令启动的。
- 直接输入
-
使用
jps的其他常用选项jps -l:显示完整的主类名或 JAR 文件的完整路径。jps -v:显示传递给 JVM 的参数(如-Xms,-Xmx等)。jps -m:传递给main方法的参数。
优点:JDK 自带,专门针对 Java 进程,简洁高效。 缺点:需要 JDK 环境变量配置正确才能使用。
使用 tasklist (Windows 命令)
tasklist 是 Windows 系统自带的命令,可以查看所有进程,不限于 Java。
-
打开命令提示符 (CMD) 或 PowerShell
-
运行
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 应用程序的内存使用、线程、类加载等信息。
-
启动 JConsole
- 在命令行中输入
jconsole并回车。
- 在命令行中输入
-
连接进程
- JConsole 会自动扫描本机上所有运行的 Java 进程。
- 在进程列表中,选择你要监控的进程,点击“连接”。
- 你就可以看到该进程的详细运行状态,如堆内存使用情况、线程死锁、CPU 时间等。
优点:功能强大,可视化监控,JDK 自带。
缺点:仅用于监控,无法像 jps 那样快速列出所有进程的 PID 和主类。
VisualVM
VisualVM 是比 JConsole 更强大的工具,同样是 JDK 自带的,它不仅能监控,还能进行性能分析、内存快照、线程转储等。
-
启动 VisualVM
- 在命令行中输入
jvisualvm并回车。
- 在命令行中输入
-
查看和分析进程
- 在左侧的“本地”节点下,你会看到所有本地运行的 Java 进程。
- 右键点击任意一个进程,可以选择:
- 监控:类似 JConsole 的实时监控。
- 线程:查看线程状态,可以生成线程转储(Thread Dump)来排查死锁或性能问题。
- 抽样器:进行 CPU 或内存的性能分析。
- 堆栈:生成堆内存快照,用于分析内存泄漏。
优点:功能极其强大,是 Java 开发者的必备工具。 缺点:功能相对复杂,初学者可能需要一些时间上手。
总结与对比
| 工具/方法 | 优点 | 缺点 | 适用场景 |
|---|---|---|---|
| 任务管理器 | 图形界面,操作简单,直观 | 信息不够详细 | 日常快速查看,排查卡顿问题 |
jps |
JDK 自带,简洁,专门针对 Java | 需要 JDK 环境 | 快速获取 Java 进程的 PID 和主类名 |
tasklist |
Windows 自带,无需 JDK | 信息不够“Java 化” | 没有 JDK 环境时,快速查找 Java 进程 |
| JConsole | 图形化监控,功能专业 | 功能相对单一,仅用于监控 | 实时监控 Java 应用的运行状态 |
| VisualVM | 功能最全面,可进行性能分析 | 功能复杂,学习成本高 | 深入分析 Java 应用性能、排查内存泄漏、线程问题 |
常用操作流程示例
场景:你的服务器上跑了一个 Java 应用,它突然变得很慢,你想知道是哪个进程以及它占用了多少资源。
-
快速定位:
- 打开任务管理器,在“详细信息”标签页下,按
Ctrl + F搜索java。 - 你会看到几个
java.exe进程,找到 CPU 或内存占用最高的那个,记下它的 PID。
- 打开任务管理器,在“详细信息”标签页下,按
-
查看详细信息:
- 在任务管理器中,右键点击该进程,选择“属性”或勾选“命令行”列,查看启动参数和主类/JAR包信息。
- 或者,在 CMD 中运行
jps -v | findstr "你的PID",查看 JVM 参数。
-
深入分析:
- 如果怀疑是线程问题,可以打开 VisualVM,连接到该 PID,进入“线程”页面,生成线程转储分析。
- 如果怀疑是内存问题,可以在 VisualVM 中生成堆快照进行分析。
通过以上组合方法,你就可以在 Windows 系统上全面地查看和分析 Java 进程了。
