线程优化
减少上下文切换次数
在写项目时其实并不是线程越多越好,因为系统就只有那么几个CPU,线程过多的话会使得上下文切换次数过多,可以通过减少不用的线程来减少上下文切换次数
操作步骤
获取快照
1 | jstack 29784 > ./console-dump |
查看线程状态
1 | grep java.lang.Thread.State console-dump | awk '{print $2$3$4$5}' | sort | uniq -c |
查看dump中WAITING(onobjectmonitor)的线程
1 | cat console-dump | grep -10 'WAITING' |
可以减少对应应用服务器的线程数