問(wèn)題描述:
安全監(jiān)測(cè)發(fā)現(xiàn)CPU占用過(guò)高梁钾,但是功能很簡(jiǎn)單赊抖,不應(yīng)該這么高
排查:
top? 查看進(jìn)程PID? 發(fā)現(xiàn)java和redis進(jìn)程CPU占用率過(guò)高
執(zhí)行? top H -p 1792
查看1792中的線(xiàn)程?發(fā)現(xiàn)前三個(gè)線(xiàn)程特別高
將需要的線(xiàn)程ID轉(zhuǎn)換為16進(jìn)制格式:
printf "%x\n" 1880
結(jié)果:758
打印線(xiàn)程的堆棧信息:jstack 1792 |grep 758 -A 30
找到其中的代碼,發(fā)現(xiàn)是使用了緩存隊(duì)列,導(dǎo)致與redis頻繁交互,但是項(xiàng)目上根本用不到這個(gè)功能迄委,所以直接在配置文件中把這塊給注釋掉,問(wèn)題解決类少。