温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

线程堆栈总结

发布时间:2020-07-26 16:30:35 来源:网络 阅读:626 作者:爱与梦想 栏目:软件技术

1. jstack命令

查看某个Java进程内的线程堆栈信息。

jstack可以定位到线程堆栈,根据堆栈信息我们可以定位到具体代码,所以它在JVM性能调优中使用得非常多。

2. 热点CPU问题:

cpu占用率持续的比较高

定位步骤:

jps -m -l                   列出正在运行的进程----这里是否用top命令更好一些?top才能看出谁占用cpu最高                       

top -H -p pid           找出该进程内最耗费cpu的线程

printf "%x\n" tid      线程id转化为16进制

jstack pid | grep 转化为16进制的tid -A 50

备注1:展示的信息中,重点关注自己编写的代码,截图给开发

备注2:有可能一次jstack不能捕捉到需要的信息,那么需要多次执行,因为抓的是那一瞬间的状态

3. java.lang.stackoverflowerror,fatal:stack size too small

  • 参数:-Xss:每个线程的栈大小,用于保存函数调用、返回地址等,默认1M,如果报错,改为2M

  • 代码:捕获内存快照,去排查代码,有可能是递归调用的层次太多了

    线程堆栈总结

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI