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
相关推荐
像风一样自由20201 小时前
52.Docker部署大模型应用从本地开发到服务化运行
运维·人工智能·docker·容器·大模型·智能体
m0_587383002 小时前
广州 24 小时自助健身房解决方案技术实现与实战指南
java·spring·小程序·架构·需求分析
sxgzzn2 小时前
如何利用电缆故障定位在线监测系统提升供电安全?
运维·重构·无人机·开关柜局放在线监测·gis局放在线监测
曦夜日长2 小时前
Git系统篇,Git本地使用(一):从“究极进化版“到三个区域的底层原理
大数据·linux·git·elasticsearch
·云扬·2 小时前
Prompt 工程与安全:从 System 设计到注入防御
java·人工智能·安全·ai·prompt
mengchanmian2 小时前
VSFTP 服务器搭建(Centos)
运维·服务器·centos
shimly1234562 小时前
给断网无 sudo ubuntu22.04 机器安装 nodejs
linux
代码不停3 小时前
自动化测试(java)
java·开发语言·selenium·自动化
别动我齐刘海4 小时前
Linux 系统调试学习1
linux·运维·服务器·c++·学习·机器学习·机器人
Lsetea4 小时前
OpenSSL报certificate chain too long:error 22与verify_depth深度排查
linux·https·ssl证书·openssl·证书链