互联网服务WebLogicOracle 12c

Java有十几个线程占用了90%CPU资源,导致系统进不去?

oracle linux 7.4 cpu核数 16中间件weblogic 12c数据库oracle12cr2这几天这几天业务系统CPU资源使用率超过1300,导致系统系统进不去进不去,通过抓取相应进程,抓取到Java有十几个十几个线程,每个使用都是都是90%以上...显示全部

oracle linux 7.4 cpu核数 16

中间件weblogic 12c
数据库oracle12cr2
这几天这几天业务系统CPU资源使用率超过1300,导致系统系统进不去进不去,通过抓取相应进程,抓取到Java有十几个十几个线程,每个使用都是都是90%以上

收起
参与6

查看其它 1 个回答dogboy的回答

dogboydogboy系统运维工程师a

上面列出的线程都是GC线程,说明JVM出现问题了,可能的原因:
1、JVM的最大值设置偏小,无法满足高峰期的应用需求。解决办法是调大JVM大小
2、应用程序存在内存泄露,堆积到一定程度引起JVM不足。解决办法是收集heapdump或coredump分析具体大对象情况
3、应用程序部分代码对内存的控制不妥,比如超大文件的导出、内存分页等等,会导致短时间JVM使用率上升,引起JVM不足
4、gc频繁。可能的原因是应用程序进行了字符串的拼接,引起频繁GC。
针对你的具体情况,可能是1、2情况,建议收集GC日志看看JVM的具体情况,定位方向后再具体分析

银行 · 2020-10-09
浏览1188

回答者

dogboy
系统运维工程师a

dogboy 最近回答过的问题

回答状态

  • 发布时间:2020-10-09
  • 关注会员:3 人
  • 回答浏览:1188
  • X社区推广