线上处事器CPU占用率高怎么办? (2)

接下来就是通过查察代码来办理问题了,我们发明,我们自界说了一个BeanValidator,封装了Hibernate的Validator,然后在validate要领中,通过Validation.buildDefaultValidatorFactory().getValidator()初始化一个Validator实例,通过阐明发明这个实例化的进程较量耗时。

我们重构了一下代码,把Validator实例的初始化提到要领外,在类初始化的时候建设一次就办理了问题。

4、总结

以上,展示了一次较量完成的线上问题定位进程。主要用到的呼吁有:top 、printf 和 jstack

别的,线上问题排查还可以利用Alibaba开源的东西Arthas举办排查,以上问题,可以利用一下呼吁定位:

thread -n 3 //查察cpu占比前三的线程 

以上,本文先容了如何排查线上处事器CPU占用率高的问题,假如各人感乐趣,后头可以再先容一些关于LOAD飙高、频繁GC等问题的排查手段。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/9724.html