我介绍了一个包含很多类的大型jboss服务器。当我分析CPU时,结果总是像java.util.TimerThread.run()= 62%和java.util.concurrent.ThreadPoolExecutor $ Worker.run()= 34,8%。 在这两种方法下,其他千种方法都有0%。 我认为这是一个糟糕的错误,因为大多数这些方法都在这些线程中运行。但我怎么能看到哪一个...... ThreadDump - 函数对此也没有用。
答案 0 :(得分:4)
如果您不知道代码的哪一部分很慢,最好从CPU采样开始。一旦你知道更好(根据抽样结果)有什么问题,你可以只分析你的jboss服务器的一部分。请参阅Profiling With VisualVM, Part 1和Profiling With VisualVM, Part 2以获取有关分析以及如何设置分析根和检测过滤器的更多信息。