标签: java multithreading
我正在监控一个用Java完成的系统,并且在白天的某些时间绝大多数线程进入等待状态并且平均等待大约50秒,有时间隔之间的间隔为5分钟。结果是所有用户请求都在等待。
我的问题是如何知道哪个线程让所有其他人等待?我使用了一些分析Thread Dump的软件,但还没找到原因。
我怀疑它是GC,清除内存将所有内容暂停,直到完成。
在这张图片中,下一个上午10:16绝大多数都进入了等待状态,不得不剪切照片,因为它有更多的线程并且都处于相同的状态。