杰瑞科技汇

Windows如何快速查看Java进程?

使用任务管理器 (最简单、最常用)

这是最快、最直接的方法,适合日常快速检查。

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

    • 按快捷键 Ctrl + Shift + Esc
    • 或者,在任务栏上点击右键,选择“任务管理器”。
    • 或者,按 Ctrl + Alt + Delete,然后选择“任务管理器”。
  2. 切换到“详细信息”或“进程”选项卡

    • 在较新版本的 Windows (如 Windows 10/11) 中,点击左下角的“详细信息”选项卡。
    • 在较旧版本的 Windows (如 Windows 7) 中,直接点击“进程”选项卡。
  3. 查找 Java 进程

    • 方法 A (按映像名称):在进程列表中,找到名为 java.exe 的进程,你可以点击“名称”列进行排序,这样所有 Java 进程都会排在一起。
    • 方法 B (按描述):切换到“详细信息”选项卡后,点击“描述”列进行排序,Java 进程的描述通常是 "Java(TM) Platform SE Binary"。
  4. 查看关键信息

    Windows如何快速查看Java进程?-图2
    (图片来源网络,侵删)
    • PID (进程 ID):每个进程的唯一标识符,在排查问题时非常有用。
    • 命令行:在“详细信息”选项卡中,右键点击列标题,选择“选择列”,勾选“命令行”,这样你就能看到启动这个 Java 进程时完整命令,包括主类名和传入的 JVM 参数,这对于确认是哪个程序至关重要。

优点

  • 无需安装任何额外软件。
  • 操作简单直观,可以快速看到进程的资源占用(CPU、内存)。

缺点

  • 信息有限,无法直接查看 Java 内部信息(如内存堆、线程状态)。

使用命令行 (功能强大、适合脚本)

如果你习惯使用命令行或者需要将结果用于脚本,jpstasklist 是你的不二之选。

使用 jps (Java Virtual Machine Process Status Tool)

jps 是 JDK 自带的工具,专门用于列出目标系统上 Hotspot 虚拟机的 Java 进程信息。

Windows如何快速查看Java进程?-图3
(图片来源网络,侵删)
  • 打开命令提示符 (CMD) 或 PowerShell

    • 在开始菜单搜索 cmdpowershell,然后打开。
  • 确保 JDK 的 bin 目录在环境变量 PATH

    • 直接在命令行中输入 jps,如果提示“不是内部或外部命令...”,说明 JDK 没有配置好环境变量,你需要先配置好,或者直接到 JDK 的 bin 目录下执行。
  • 基本用法

    jps

    这个命令会列出当前机器上所有 Java 进程的 PID主类名 (Main Class)

    示例输出

    1234 MySpringApplication
    5678 org.apache.catalina.startup.Bootstrap
    9012 sun.tools.jps.Jps
    • 1234 是进程 ID。
    • MySpringApplication 是主类名。
    • 9012 sun.tools.jps.Jpsjps 工具自身的进程。
  • 常用参数

    • -l:显示主类的完整包名或 JAR 文件的完整路径。
      jps -l
      # 输出示例:
      # 1234 com.example.MySpringApplication
      # 5678 /path/to/tomcat/bin/bootstrap.jar
    • -v:显示传递给 JVM 的参数。
      jps -v
      # 输出示例:
      # 1234 MySpringApplication -Xms512m -Xmx1024m
    • -m:传递给 main 方法的参数。
      jps -m
      # 输出示例:
      # 1234 MySpringApplication --server.port=8080
    • -V:显示通过 .hotspotrc-XX:Flags=指定的标志文件

使用 tasklist (Windows 原生命令)

tasklist 是 Windows 系统自带的命令,可以列出所有正在运行的进程,不限于 Java。

  • 基本用法

    tasklist
  • 筛选 Java 进程: 使用 findstr 命令来过滤出 java.exe 进程。

    tasklist | findstr "java.exe"

    示例输出

    java.exe                    1234 Services                   0      1,856 K
    java.exe                    5676 Console                    1     15,234 K
    • 这里的 12345676 Java 进程的 PID。

优点

  • jps 是 Java 专用,信息更精准。
  • tasklist 是系统级命令,通用性强。
  • 都可以方便地集成到批处理脚本或自动化任务中。

缺点

  • 需要打开命令行。
  • jps 需要安装 JDK。

使用专业的 Java 诊断工具 (功能最全面、适合深度分析)

当你需要分析 Java 应用的性能、内存泄漏、线程死锁等问题时,就需要专业的工具了。

VisualVM (JDK 自带)

VisualVM 是一个功能强大的多合一故障排查和性能分析工具,随 JDK 一起发布。

  • 启动 VisualVM

    • 打开命令行,进入 JDK 的 bin 目录。
    • 运行 jvisualvm.exe
  • 使用 VisualVM

    1. 在左侧的“本地”节点下,你会看到本机上所有正在运行的 Java 应用。
    2. 双击你想要分析的应用。
    3. 在右侧的标签页中,你可以查看:
      • 概述:基本信息和系统属性。
      • 监视:实时监控 CPU、堆内存、类加载、线程数等。
      • 线程:查看所有线程的状态,可以轻松发现死锁。
      • 抽样器:对 CPU 或内存进行抽样分析,找到性能瓶颈或内存泄漏点。
      • MBeans:查看和管理 JMX MBeans。

优点

  • 功能极其强大,集成了多种分析功能。
  • 图形化界面,直观易用。
  • 免费,随 JDK 一起提供。

缺点

  • 功能复杂,初学者可能需要学习成本。

JConsole (JDK 自带)

JConsole 是另一个 JDK 自带的轻量级监控和管理控制台。

  • 启动 JConsole

    • 打开命令行,进入 JDK 的 bin 目录。
    • 运行 jconsole.exe
  • 使用 JConsole

    1. 启动后,它会自动扫描本机所有 Java 进程。
    2. 选择一个进程连接。
    3. 它提供与 VisualVM 类似的监控功能,如内存、线程、类、概览等,但功能相对简化。

优点

  • 非常轻量,启动快。
  • 适合快速查看基本运行状态。

缺点

  • 分析功能不如 VisualVM 强大。

总结与对比

工具/方法 优点 缺点 适用场景
任务管理器 简单直观,无需安装,可看资源占用 信息有限,无法分析 Java 内部状态 日常快速检查 Java 进程是否存在,查看资源占用情况
jps 命令 专为 Java 设计,信息精准(主类、JVM参数) 需要安装 JDK,命令行操作 脚本自动化、快速获取 Java 进程的 PID 和主类名
tasklist 命令 Windows 原生,通用性强,可筛选所有进程 信息不如 jps 精准 命令行环境下,快速查找 Java 进程的 PID
VisualVM 功能最全(监控、分析、线程、内存),图形化界面 功能复杂,有一定学习成本 深入排查性能问题、内存泄漏、线程死锁等 Java 应用故障
JConsole 轻量级,启动快,随 JDK 自带 功能相对简化 快速、轻量地监控 Java 应用的基本运行状态

实战场景建议

  • “我只是想看看我的 Java 程序跑起来了没,占了多少内存?”
    • 首选任务管理器
  • “我想写个批处理脚本,自动重启某个 PID 的 Java 程序。”
    • 首选jpstasklist 来获取 PID。
  • “我的网站很卡,怀疑是 Java 程序的问题,想深入分析一下。”
    • 首选VisualVM,用它来分析 CPU、内存和线程,基本能定位大部分问题。
  • “我想知道这个 Java 进程到底是哪个 JAR 包跑起来的?”
    • 首选任务管理器 -> 详细信息 -> 右键添加“命令行”列;或者 jps -l
分享:
扫描分享到社交APP
上一篇
下一篇