Linux 查看 Java 进程常用命令

1. jps(推荐,JDK 自带,最简单)

需要安装 JDK(仅 JRE 没有 jps)

bash

复制代码
# 只显示进程号+主类名
jps

# 显示完整主类路径
jps -l

# 显示JVM启动参数
jps -v

# 显示传入main方法的参数
jps -m

示例输出:

plaintext

复制代码
12580 org.apache.tomcat.startup.Bootstrap

2. ps + grep 通用方式(无需依赖 JDK)

bash

复制代码
# 基础查询
ps -ef | grep java

# 更干净,过滤掉grep自身进程
ps -ef | grep [j]ava

# 查看线程(jstack需要pid)
ps -T -p <进程PID>

3. pgrep 快速只获取 PID

bash

复制代码
# 列出所有java进程pid
pgrep java

# 连同进程信息
pgrep -af java

4. 结合 top 查看 Java 进程资源占用

bash

复制代码
# 全局看
top

# 只监控指定java进程
top -p <PID>

# H键显示线程(top界面内按H)

配套常用排查命令(拿到 PID 后)

bash

复制代码
# 打印线程栈
jstack <PID>

# 堆内存概况
jmap -heap <PID>

# 导出堆dump
jmap -dump:format=b,file=heap.hprof <PID>

进程信息解读

plaintext

复制代码
root     3755864       1  0 Aug04 ?        00:52:24 java --module-path /home/project/test-fws/lib --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.util=ALL-UNNAMED -server -Xms512m -Xmx1024m -jar /home/project/test-fws/jar/test-configure-server.jar --app.id=test-fws
  1. PID:3755864
  2. 运行用户:root
  3. 启动时间:Aug04(8 月 4 日启动)
  4. 运行时长:00:52:24 CPU 累计耗时 ≠ 进程运行时长
  5. 程序包:test-configure-server.jar
  6. JVM 参数:
    • -server:服务端模式
    • -Xms512m:初始堆内存 512MB
    • -Xmx1024m:最大堆内存 1GB
    • --add-opens:打破模块封装,反射兼容旧代码
  7. 业务参数:--app.id=test-fws

常用操作(直接复制,PID 替换为 3755864)

bash

复制代码
# 1.查看完整启动命令(确认有无被截断)
cat /proc/3755864/cmdline | tr '\0' ' ';echo

# 2.查看当前堆内存使用
jmap -heap 3755864

# 3.打印线程栈(排查死锁、线程阻塞)
jstack 3755864 > thread.log

# 4.导出堆dump(内存溢出分析,谨慎!会暂停进程)
jmap -dump:format=b,file=ctg-fws-heap.hprof 3755864

# 5.实时观察CPU/内存
top -p 3755864

# 6.优雅停止服务
kill 3755864
# 强制停止(尽量不用)
# kill -9 3755864
相关推荐
niuyueyang2 分钟前
MCP `/mcp/status` Lifecycle 技术方案
java·服务器·数据库
杨运交7 分钟前
086-对象存储模块-基于Spring Boot的文件存储模块监控设计与实现
java·spring boot·后端
无言听风雨丶35 分钟前
Nginx 深度实战:从架构原理到生产排错
运维·nginx·架构
曦夜日长38 分钟前
主从 Reactor 高并发服务器实战 (三):服务器套接字Socket模块详解与实现
运维·服务器·网络
Wang's Blog41 分钟前
Java 项目实战:交友项目 - 我的访客:需求说明
java·开发语言·交友
z06.1 小时前
Linux系统中MySQL的安装
linux·mysql
wzg20161 小时前
ubuntu通过docker镜像部署安装onlyoffice
linux·ubuntu·docker
Star(up up up)1 小时前
Docker系列---Docker容器基本命令(新手小白保姆级实操教程)
运维·学习·程序人生·青少年编程·docker·容器·dubbo
云析赢指标公式网42 小时前
文华财经指标源码笔记:WINNER筹码函数、控盘变量与MACD变体的调试记录
java·笔记·算法
echome8882 小时前
Linux 定时任务:crontab 写法与常见失效原因
linux·运维·网络·定时任务·crontab