标签:multithreading debugging tomcat dwr java
我们有一个生产Web应用程序,该应用程序似乎陷入了线程阻塞,无法完成大量工作,并且运行了CPU和平均负载.我几乎知道问题是什么-我们的DWR服务正在将一些非常大的内容转换为Javascript对象响应.问题是我不知道哪个服务调用会产生大量数据,因为该线程在我的任何代码外部(它在DWR Servlet中,将我的返回值转换为出站javascript对象…否则我可以请参阅线程转储中的我的服务方法).
但是,您不需要了解DWR就能为我提供帮助,因为我的问题是这样的:
这对我来说有什么办法可以查看已部署的Web应用程序(Tomcat 6),并查看线程处于哪种状态,例如变量值等?如果我基本上可以对线程进行“调试快照”,那将是完美的,好像我在本地开发期间在调试模式下有一个断点一样,但是让我了解或打印出某些东西的价值的任何解决方案都是有用的.
谢谢!
更新
如果可以不重新启动服务器,那将是最好的,因为此问题只会偶尔出现一次,并且重新启动会使该问题消失.看来JProfiler需要将-agentpath选项添加到JVM,所以我需要重新启动它.
解决方法:
是的,您可以附加Visual VM 1.3.2,并下载并安装所有插件,以查看每个线程的状态,堆中的代数等.
标签:multithreading,debugging,tomcat,dwr,java 来源: https://codeday.me/bug/20191102/1989963.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。