自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

生產系統(tǒng)CPU飆高問題排查

系統(tǒng)
線上問題定位,相對比較簡單,難點主要在于保留現(xiàn)場,有了現(xiàn)場就能快速定位問題,以下是二種常用排查方式。

現(xiàn)狀

系統(tǒng)平穩(wěn)運行了2年時間,一直沒出現(xiàn)過問題,突然這兩天進行CPU占用過高報警,如下:

排查方法

執(zhí)行top命令,查看是哪個進程導致的,可以確定是pid為22168的java應用導致的:

執(zhí)行top -Hp命令,查看這個進程的那個線程導致cpu過高,如下圖,可以看到是22749線程導致的:

top -Hp 22168

由于jstack里面的線程號為16進制,需要轉換線程號為16進制,如下圖得到16進制值為58dd:

printf "%x\n" 22749

執(zhí)行jstack生成線程快照保存至1.txt文件中,22168為進程id:

jstack 22168>1.txt

根據16進制線程號,查詢線程信息:

grep 58dd 1.txt

如上圖,可以看到是調用DesenUtils.desen方法導致,此方法作用是數據脫敏,里面用了較為復雜的正則表達式,所以分析是由于特定字符正好遇到此正則表達式,進行大量計算導致,為了快速解決此問題,先去除掉此代碼的調用,重新發(fā)布即可。

https://cloud.tencent.com/developer/article/1780881,正則導致cpu飆高問題描述,請查看此地址。

總結

線上問題定位,相對比較簡單,難點主要在于保留現(xiàn)場,有了現(xiàn)場就能快速定位問題,以下是二種常用排查方式:

  • CPU飆高通過jstack命令,定位到線程信息。
  • 內存飆高通過jmap dump出堆棧信息,再通過mat這些工具定位那個類占用過多內存。

責任編輯:趙寧寧 來源: 架構成長指南
相關推薦

2020-09-29 07:59:22

CPU系統(tǒng)性能

2024-06-28 11:54:20

2022-08-08 09:02:23

CPUID日志

2021-03-31 13:45:59

CPU運維命令

2024-02-21 11:06:54

ArthasCPU工具

2023-10-26 09:00:58

Arthas工具CPU

2021-02-26 13:35:46

JavaCPU內存

2019-07-16 06:43:18

LinuxCPU占用率

2019-01-21 11:17:13

CPU優(yōu)化定位

2019-07-24 11:52:11

CPU服務器面試官

2020-10-12 14:18:15

CPU技巧代碼

2019-05-08 08:37:08

高可用問題排查

2010-08-18 09:52:25

Memcache

2019-04-29 14:23:46

Java服務器CPU

2020-10-16 08:10:41

Linux CPU 開發(fā)

2013-03-27 10:32:22

2020-07-13 09:05:47

2024-06-24 09:29:15

2009-02-12 16:09:40

浪潮虛擬化

2024-06-07 08:19:05

點贊
收藏

51CTO技術棧公眾號