继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

【备战春招】第4天+Jstack实战死循环和死锁

ccLoveStudy
关注TA
已关注
手记 82
粉丝 6
获赞 5

课程名称:Java生产环境下性能监控与调优详解

课程章节:第二章

主讲老师:若鱼1919

课程内容:

jstack与线程状态:

  1. jstack -option pid 操作指令

    1. jps -l   查看当前有哪些java进程

    2. jstack pid  > pid.txt  把当前线程的日志导入指定文件

  2. 线程的状态

    1. 新建,就绪,等待,运行,关闭

  3. top -p pid  -H   查看当前pid的所有进程

  4. printf "%x" top中的pid   查看当前top中的pid转化为十六进制,在jstack中导出的pid.txt中找到对应转换出来的pid进程号

  5. nohub java -jar XXX.jar  &  运行jar包

  6. tail -f nohub.out   查看当前日志

课程收获:

这两节课学习了Jstack实战死锁和死循环,过程就是如上所述,这节课的内容,还是基本都听懂了,但是末尾老师说了一句很重要的话,就是真正到了项目的时候,没有这么简单的,这只是个例子,尤其是那个死锁的例子,jstck + pid 最后给了死锁的个数,而且显而易见,实战应该不会这么容易。老师给的死循环的例子就比较普通了,就是让所有线程处理等待,这种问题我碰巧在生产上碰到过,但是通过死磕代码找出来的。以后还要学会使用工具来看。

http://img1.sycdn.imooc.com/63e39d0100017f4823041428.jpg




打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP