当前位置:网站首页>[help] troubleshooting of JVM's high CPU resource consumption
[help] troubleshooting of JVM's high CPU resource consumption
2022-06-27 19:56:00 【The Nuggets said】
JVM Of CPU The investigation of the problem of excessive resource occupation
jstack Command format :
jstack [ option ] pid
Parameter description :
-F jstack [-l] pid When unable to respond , Force print stack
-l l A long list of . Print additional information about the lock , For example, belong to java.util.concurrent Of ownable synchronizers list .
-m Mixed mode output ( Include java And local c/c++ fragment ) Stack .
pid: java The process number of the application
Arguments are mutually exclusive , Cannot be used in combination .
jstack Generated Thread Dump Log structure analysis
jstack -l 25440 > c:/25440.stack
2021-02-01 10:14:10
Full thread dump Java HotSpot(TM) 64-Bit Server VM (25.231-b11 mixed mode):
"MySQL Statement Cancellation Timer" #513 daemon prio=5 os_prio=0 tid=0x0000000020de0800 nid=0x2e74 in Object.wait() [0x0000000069e0f000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:502)
at java.util.TimerThread.mainLoop(Timer.java:526)
- locked <0x00000006e18d6598> (a java.util.TaskQueue)
at java.util.TimerThread.run(Timer.java:505)
Locked ownable synchronizers:
- None
"Druid-ConnectionPool-Destroy-968174377" #459 daemon prio=5 os_prio=0 tid=0x0000000020de0000 nid=0x32e8 waiting on condition [0x000000006311f000]
java.lang.Thread.State: TIMED_WAITING (sleeping)
at java.lang.Thread.sleep(Native Method)
at com.alibaba.druid.pool.DruidDataSource$DestroyConnectionThread.run(DruidDataSource.java:2824)
Locked ownable synchronizers:
- None
"Druid-ConnectionPool-Create-968174377" #458 daemon prio=5 os_prio=0 tid=0x0000000020dd9000 nid=0x16e4 waiting on condition [0x000000006301f000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x00000006c3ee6cd8> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
at com.alibaba.druid.pool.DruidDataSource$CreateConnectionThread.run(DruidDataSource.java:2728)
Locked ownable synchronizers:
- None
jstack -F PID > c:/jstack.25440.txt Inquire about IN_VM Check the methods for finding related classes
Attaching to process ID 25440, please wait...
Debugger attached successfully.
Server compiler detected.
JVM version is 25.231-b11
Deadlock Detection:
No deadlocks found.
Thread 133: (state = BLOCKED)
- java.lang.Object.wait(long) @bci=0 (Compiled frame; information may be imprecise)
- java.lang.Object.wait() @bci=2, line=502 (Compiled frame)
- java.util.TimerThread.mainLoop() @bci=28, line=526 (Interpreted frame)
- java.util.TimerThread.run() @bci=1, line=505 (Interpreted frame)
Thread 95: (state = BLOCKED)
- com.****.patrol.util.PatrolHelper.getRuleByTime(com.****patrol..entity.StatRule, java.time.LocalDateTime) @bci=430, line=304 (Compiled frame; information may be imprecise)
- com.****.patrol.util.PatrolHelper.getStatRule(java.util.List, java.time.LocalDateTime) @bci=51, line=226 (Compiled frame)
- com.****.service.impl.InspectServiceImpl.getCalendarData(java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.time.LocalDateTime, java.time.LocalDateTime) @bci=252, line=226 (Compiled frame)
- com.****.patrol.controller.InspectController.getCalendarData(java.lang.String, java.lang.String, java.lang.String, java.time.LocalDateTime, java.time.LocalDateTime) @bci=78, line=127 (Interpreted frame)
Thread 93: (state = BLOCKED)
- sun.misc.Unsafe.park(boolean, long) @bci=0 (Compiled frame; information may be imprecise)
- java.util.concurrent.locks.LockSupport.park(java.lang.Object) @bci=14, line=175 (Compiled frame)
- java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await() @bci=42, line=2039 (Compiled frame)
- java.util.concurrent.LinkedBlockingQueue.take() @bci=29, line=442 (Compiled frame)
- java.util.concurrent.ThreadPoolExecutor.getTask() @bci=149, line=1074 (Compiled frame)
- java.util.concurrent.ThreadPoolExecutor.runWorker(java.util.concurrent.ThreadPoolExecutor$Worker) @bci=26, line=1134 (Interpreted frame)
- java.util.concurrent.ThreadPoolExecutor$Worker.run() @bci=5, line=624 (Interpreted frame)
- java.lang.Thread.run() @bci=11, line=748 (Interpreted frame)
Thread 92: (state = IN_VM)
- com.****.patrol.util.PatrolHelper.getRuleByTime(com.****.patrol.entity.StatRule, java.time.LocalDateTime) @bci=430, line=304 (Compiled frame; information may be imprecise)
- com.****.patrol.util.PatrolHelper.getStatRule(java.util.List, java.time.LocalDateTime) @bci=51, line=226 (Compiled frame)
- com.****.patrol.service.impl.InspectServiceImpl.getCalendarData(java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.time.LocalDateTime, java.time.LocalDateTime) @bci=252, line=226 (Compiled frame)
- com.****.patrol.controller.InspectController.getCalendarData(java.lang.String, java.lang.String, java.lang.String, java.time.LocalDateTime, java.time.LocalDateTime) @bci=78, line=127 (Interpreted frame)
lookup com.****.patrol.service.impl.InspectServiceImpl.getCalendarData Methods to check …
Attachment reference
Reference resources Java Memory leak analysis Series 2 :jstack Generated Thread Dump Log structure analysis
Reference resources JVM Fault analysis and performance optimization series
Reference resources ThreadDump: How to see the condition of waiting / or any other condition?
Reference resources JVM Of CPU The investigation of the problem of excessive resource occupation
Reference resources Java CPU High occupancy troubleshooting ,windows and Linux
边栏推荐
猜你喜欢

The Fifth Discipline: the art and practice of learning organization

Blink SQL内置函数大全

从感知机到前馈神经网络的数学推导

Bit. Store: long bear market, stable stacking products may become the main theme

从指令交读掌握函数调用堆栈详细过程

Buzzer experiment based on stm32f103zet6 library function

指针和结构体

crontab的学习随笔

多伦多大学博士论文 | 深度学习中的训练效率和鲁棒性

308. 二维区域和检索 - 可变 线段树/哈希
随机推荐
刷题笔记-树(Easy)-更新中
shell脚本常用命令(三)
UE4实现长按功能
Buzzer experiment based on stm32f103zet6 library function
Implementation of reliable distributed locks redlock and redisson
Redis持久化
Tupu digital twin intelligent energy integrated management and control platform
散列表(Hash)-复习
DCC888 :Register Allocation
作用域-Number和String的常用Api(方法)
A simple calculation method of vanishing point
shell脚本常用命令(四)
【登录界面】
从感知机到前馈神经网络的数学推导
GIS遥感R语言学习看这里
redis集群系列三
金鱼哥RHCA回忆录:DO447管理项目和开展作业--创建作业模板并启动作业
Photoshop layer related concepts layercomp layers move rotate duplicate layer compound layer
labelimg使用指南
Longitude and latitude analysis