课程名称:Java生产环境下性能监控与调优详解
课程章节:第二章
主讲老师:若鱼1919
课程内容:
jstack与线程状态:
jps -l 查看当前有哪些java进程
jstack pid > pid.txt 把当前线程的日志导入指定文件
线程的状态
新建,就绪,等待,运行,关闭
top -p pid -H 查看当前pid的所有进程
printf "%x" top中的pid 查看当前top中的pid转化为十六进制,在jstack中导出的pid.txt中找到对应转换出来的pid进程号
nohub java -jar XXX.jar & 运行jar包
课程收获:
这两节课学习了Jstack实战死锁和死循环,过程就是如上所述,这节课的内容,还是基本都听懂了,但是末尾老师说了一句很重要的话,就是真正到了项目的时候,没有这么简单的,这只是个例子,尤其是那个死锁的例子,jstck + pid 最后给了死锁的个数,而且显而易见,实战应该不会这么容易。老师给的死循环的例子就比较普通了,就是让所有线程处理等待,这种问题我碰巧在生产上碰到过,但是通过死磕代码找出来的。以后还要学会使用工具来看。
以