在生产环境(Linux)有什么办法知道当前某个线程的运行情况,比如是不是挂住了,是不是吃了好多cpu和内存,本篇文章和大家分享一下Linux系统查看java进程的教程。
一、查看Java进程pid的方式
\1. ps命令
ps -ef | grep java
\2. jvm自带的 jps 工具
\3. 当然还有其他命令也可以显示 netstat ,top
二、查看Java线程的方式
top命令
top -Hp pid
前面的PID列就是 linux下的线程编号(10进制数字)
jstack工具 导出的线程栈中线程的编号是 16进制的,
只要将 10 进制 转换为16进制 数字 即可 去jstack线程栈中寻找对应的线程
三、线程问题排查
线程问题,最常见的问题因素还是 : CPU , MEM
\1. CPU
CPU就是时间嘛, 占用的CPU越多,说明这个线程 占用的 CPU时间片 越多。
解决之道,jstack多导出几次栈,找到线程调用的方法,再查代码。
\2. MEM
至此关于Linux系统查看Java进程的分享教程到此结束,欢迎大家在评论区留言。
为各位朋友分享的相关内容。想要了解更多Linux相关知识记得关注公众号“良许Linux”,或扫描下方二维码进行关注,更多等着你!