weblogic stuck String StringUtils

    今天在一个报表及导出的weblogic节点不响应,后台的堵塞都是这种,操作系统表现是耗用CPU 6000%(相对于消耗了60个CPU)。下面的代码堆栈都是相对简单的功能,为什么出现这种问题呢?

    原因是有线程长期并大量消耗CPU,导致剩下的线程无法获取到CPU产生spin。解决问题的办法就是:

    1.top -H -p 进程id 获取到耗CPU的线程。

    2.做一个jstack 

    3.找上面两个结果的对应,解决就可以了。

"[STUCK] ExecuteThread: '244' for queue: 'weblogic.kernel.Default (self-tuning)'" daemon prio=10 tid=0x00007f01bc198800 nid=0x67ea runnable [0x00007efec4ac6000]

   java.lang.Thread.State: RUNNABLE
at java.lang.String.charAt(String.java:657)
at java.util.StringTokenizer.scanToken(StringTokenizer.java:274)
at java.util.StringTokenizer.nextToken(StringTokenizer.java:351)
at org.springframework.util.StringUtils.tokenizeToStringArray(StringUtils.java:987)
at org.springframework.util.AntPathMatcher.doMatch(AntPathMatcher.java:104)
at org.springframework.util.AntPathMatcher.match(AntPathMatcher.java:81)
at org.springframework.web.servlet.mvc.condition.PatternsRequestCondition.getMatchingPattern(PatternsRequestCondition.java:250)
at org.springframework.web.servlet.mvc.condition.PatternsRequestCondition.getMatchingCondition(PatternsRequestCondition.java:216)
at org.springframework.web.servlet.mvc.method.RequestMappingInfoHandlerMapping.handleNoMatch(RequestMappingInfoHandlerMapping.java:166)
at org.springframework.web.servlet.handler.AbstractHandlerMethodMapping.lookupHandlerMethod(AbstractHandlerMethodMapping.java:283)

"[STUCK] ExecuteThread: '243' for queue: 'weblogic.kernel.Default (self-tuning)'" daemon prio=10 tid=0x00007f01bc196800 nid=0x67e9 runnable [0x00007efec4bc7000]
   java.lang.Thread.State: RUNNABLE
at org.springframework.util.StringUtils.toStringArray(StringUtils.java:816)
at org.springframework.util.StringUtils.tokenizeToStringArray(StringUtils.java:995)
at org.springframework.util.AntPathMatcher.doMatch(AntPathMatcher.java:105)
at org.springframework.util.AntPathMatcher.match(AntPathMatcher.java:81)
at org.springframework.web.servlet.mvc.condition.PatternsRequestCondition.getMatchingPattern(PatternsRequestCondition.java:241)
at org.springframework.web.servlet.mvc.condition.PatternsRequestCondition.getMatchingCondition(PatternsRequestCondition.java:216)
at org.springframework.web.servlet.mvc.method.RequestMappingInfoHandlerMapping.handleNoMatch(RequestMappingInfoHandlerMapping.java:166)

"[STUCK] ExecuteThread: '242' for queue: 'weblogic.kernel.Default (self-tuning)'" daemon prio=10 tid=0x00007f01bc194800 nid=0x67e8 runnable [0x00007efec4cc8000]
   java.lang.Thread.State: RUNNABLE
at java.util.regex.Matcher.reset(Matcher.java:299)
at java.util.regex.Matcher.<init>(Matcher.java:228)
at java.util.regex.Pattern.matcher(Pattern.java:1088)
at org.springframework.util.AntPathMatcher$AntPathStringMatcher.matchStrings(AntPathMatcher.java:539)
at org.springframework.util.AntPathMatcher.matchStrings(AntPathMatcher.java:238)
at org.springframework.util.AntPathMatcher.doMatch(AntPathMatcher.java:118)
at org.springframework.util.AntPathMatcher.match(AntPathMatcher.java:81)
at org.springframework.web.servlet.mvc.condition.PatternsRequestCondition.getMatchingPattern(PatternsRequestCondition.java:241)

"[STUCK] ExecuteThread: '240' for queue: 'weblogic.kernel.Default (self-tuning)'" daemon prio=10 tid=0x00007f01bc190000 nid=0x67e6 runnable [0x00007efec4eca000]
   java.lang.Thread.State: RUNNABLE
at org.springframework.web.util.UriUtils.decode(UriUtils.java:351)
at org.springframework.web.util.UrlPathHelper.decodeInternal(UrlPathHelper.java:406)
at org.springframework.web.util.UrlPathHelper.decodeRequestString(UrlPathHelper.java:397)
at org.springframework.web.util.UrlPathHelper.getContextPath(UrlPathHelper.java:286)
at org.springframework.web.util.UrlPathHelper.getPathWithinApplication(UrlPathHelper.java:199)
at org.springframework.web.util.UrlPathHelper.getPathWithinServletMapping(UrlPathHelper.java:175)
at org.springframework.web.util.UrlPathHelper.getLookupPathForRequest(UrlPathHelper.java:154)
at org.springframework.web.servlet.mvc.condition.PatternsRequestCondition.getMatchingCondition(PatternsRequestCondition.java:212)

"[ACTIVE] ExecuteThread: '239' for queue: 'weblogic.kernel.Default (self-tuning)'" daemon prio=10 tid=0x00007f01bc18e000 nid=0x67e5 runnable [0x00007efec4fcb000]
   java.lang.Thread.State: RUNNABLE
at java.util.regex.Pattern$Slice.match(Pattern.java:3860)
at java.util.regex.Matcher.match(Matcher.java:1221)
at java.util.regex.Matcher.matches(Matcher.java:559)
at org.springframework.util.AntPathMatcher$AntPathStringMatcher.matchStrings(AntPathMatcher.java:540)
at org.springframework.util.AntPathMatcher.matchStrings(AntPathMatcher.java:238)
at org.springframework.util.AntPathMatcher.doMatch(AntPathMatcher.java:118)
at org.springframework.util.AntPathMatcher.match(AntPathMatcher.java:81)
at org.springframework.web.servlet.mvc.condition.PatternsRequestCondition.getMatchingPattern(PatternsRequestCondition.java:241)

"[STUCK] ExecuteThread: '238' for queue: 'weblogic.kernel.Default (self-tuning)'" daemon prio=10 tid=0x00007f01bc18c000 nid=0x67e4 runnable [0x00007efec50cc000]
   java.lang.Thread.State: RUNNABLE
at java.util.StringTokenizer.skipDelimiters(StringTokenizer.java:245)
at java.util.StringTokenizer.hasMoreTokens(StringTokenizer.java:323)
at org.springframework.util.StringUtils.tokenizeToStringArray(StringUtils.java:986)
at org.springframework.util.AntPathMatcher.doMatch(AntPathMatcher.java:104)
at org.springframework.util.AntPathMatcher.match(AntPathMatcher.java:81)
at org.springframework.web.servlet.mvc.condition.PatternsRequestCondition.getMatchingPattern(PatternsRequestCondition.java:250)
at org.springframework.web.servlet.mvc.condition.PatternsRequestCondition.getMatchingCondition(PatternsRequestCondition.java:216)

"[STUCK] ExecuteThread: '232' for queue: 'weblogic.kernel.Default (self-tuning)'" daemon prio=10 tid=0x00007f01bc181800 nid=0x6782 runnable [0x00007efec56d2000]
   java.lang.Thread.State: RUNNABLE
at java.lang.String.length(String.java:623)
at org.springframework.web.util.UrlPathHelper.getRemainingPath(UrlPathHelper.java:220)
at org.springframework.web.util.UrlPathHelper.getPathWithinApplication(UrlPathHelper.java:201)
at org.springframework.web.util.UrlPathHelper.getLookupPathForRequest(UrlPathHelper.java:159)
at org.springframework.web.servlet.mvc.condition.PatternsRequestCondition.getMatchingCondition(PatternsRequestCondition.java:212)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值