Java子弹js css html

CPU过高问题排查

2022-09-15  本文已影响0人  后来丶_a24d

目录


背景


实战

问题定位之纯命令式

  1. top查看占用对应Pid(这里统计展示不知道为什么有些不准),但是可以看到Pid 13就是我们Java应用服务的Pid


    top.png
  2. jstack pid(13), 一个个往下翻找不正常的,这么长的一看就不太正常, 具体问题代码没截出来,但是能知道哪一行代码问题


    正则
  3. top -Hp, top -H -p pid由于操作系统版本问题,无法使用,否则可以直接定位到占用最高cpu的线程

问题定位之阿里的Arthas工具查询Cpu占用高

wget https://alibaba.github.io/arthas/arthas-boot.jar
java -jar arthas-boot.jar
Arthas.png
dashboard
Arthas_1.png
thread pid(51)
Arthas_2.png

问题处理

Pattern pattern = Pattern.compile("^([hH][tT]{2}[pP]://|[hH][tT]{2}[pP][sS]://)(([A-Za-z0-9-~]+).)+([A-Za-z0-9-~\\\\/])+$")
if (!pattern.matcher(sr.getLink()).matches()) {
 ...
}
Pattern pattern = Pattern.compile("^(|http|https):[^ \"]+$")
if (!pattern.matcher(sr.getLink()).matches()) {
 ...
}

问题原因分析

text = Today is a nice day
regex = day
text = abbc
regex = ab{1,3}c
^([hH][tT]{2}[pP]://|[hH][tT]{2}[pP][sS]://)(([A-Za-z0-9-~]+).)+([A-Za-z0-9-~\\\\/])+$
(([A-Za-z0-9-~]+).)+
([A-Za-z0-9-~\\/])+$

参考文章

上一篇下一篇

猜你喜欢

热点阅读