* 1.1找到Cpu消耗比较高的进程:* 1.2通过问题进程找到线程:* 1.3通过线程id进行打印问题代码:* 1.4通过上面步骤的异常代码查询定位代码:* 1.5总结:* 2.其他的定位问题的命令:* 2.1 jps和jmap。
不管处于应急的哪个阶段,我们首先必须想到的是恢复问题,恢复问题不一定能够定位问题,也不一定有完美的解决方案,也许是通过经验判断,也许是预设开关等,但都可能让我们达到快速恢复的目的,然后保留部分现场,再去定位问题、解决问题和复盘。
通常,当我们遇到这些类型的性能问题时,我们怀疑是 I/O 接口导致的。你可以为在远程环境中执行的Java应用程序使用 debugger,满足以下条件:* 该应用程序启动时应该附带一个 debugger agent。