memory leak [OOM]
Improper use of container classes leads to an infinite increase in objects.
thread leak
Before and after the repair, between 100-200 threads is enough under normal circumstances.
Quickly view the number of threads of a process through the command, ps hH p <pid> | wc -l, this command views the number of threads of a process (with the H option)
for i in `ps aux | grep -v grep | grep java | awk '{print $2}'` ; do echo $i "-->" `ps hH p $i | wc -l` ; done 81109 --> 29 81112 --> 22 166924 --> 43 176107 --> 153 176109 --> 148
connection leak
The JDBC4PreparedStatement object is not closed, the connection leak is also OOM
Unreasonable concurrency settings
If the concurrency setting is too large, the number of threads remains high, and the cost of context switching is high.
The component concurrency settings are unreasonable, resulting in a large deviation of worker CPU usage and affecting the stability of tasks.
Unreasonable log output
There are too many logs, and it is easy to burst the disk.
Downstream system failure
The MySQL IO problem causes data hoarding in the worker to trigger frequent GC.