linux如何查看java线程
这篇文章主要介绍了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
内存问题,内存中对象过多(有native(JNI)调用要注意本地方法栈内存)。
感谢你能够认真阅读完这篇文章,希望小编分享的“linux如何查看java线程”这篇文章对大家有帮助,同时也希望大家多多支持编程网,关注编程网行业资讯频道,更多相关知识等着你来学习!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341