Java 显示奇怪行为的视觉虚拟机
我正在使用VisualVM监视我的JBoss实例。我还附上了它的截图 问题是在我重新启动JBoss实例之后,操作系统上的CPU开始变高。负载可以高达40,top命令中的JAVA进程显示高达300%的使用率 然后,这会降低前端应用程序的速度 VisualVM显示CPU很高,线程数也在增加 我怎样才能进一步找到这一问题的根源Java 显示奇怪行为的视觉虚拟机,java,multithreading,cpu,thread-sleep,java-threads,Java,Multithreading,Cpu,Thread Sleep,Java Threads,我正在使用VisualVM监视我的JBoss实例。我还附上了它的截图 问题是在我重新启动JBoss实例之后,操作系统上的CPU开始变高。负载可以高达40,top命令中的JAVA进程显示高达300%的使用率 然后,这会降低前端应用程序的速度 VisualVM显示CPU很高,线程数也在增加 我怎样才能进一步找到这一问题的根源 一个好的起点是生成堆转储,并使用堆转储分析器工具查看引擎盖下发生的事情,然后使用VisualVM进行浏览 对于您来说,一些免费的替代方案是或了解增加线程数是相当容易的。捕获几个
一个好的起点是生成堆转储,并使用堆转储分析器工具查看引擎盖下发生的事情,然后使用VisualVM进行浏览
对于您来说,一些免费的替代方案是或了解增加线程数是相当容易的。捕获几个线程并比较创建的新线程
对于高CPU利用率,您必须使用Visual VM(如果此信息可用)或本机系统监视工具检测导致此问题的线程。您应该能够将线程ID映射到threaddump中的stacktrace,以查看真正的原因。当涉及到高CPU使用率时,我通常会考虑两件事:
希望这有帮助。祝你好运 是的,但是由于两个问题,我们很难从线程转储中找到它。 1.CPU利用率在15-20分钟内从20%快速增加到90%。我们无法在其他环境中这样做。 2.当我们进行线程转储时,可能导致问题的实际线程已经完成,我们发现其他线程正在等待资源 是否有其他方法可以在服务器端进行配置或检查