JVM

参数
线程数限制

JVM中可以生成的最大数量由JVM的堆内存大小、Thread的Stack内存大小、系统最大可创建的线程数量(Java线程的实现是基于底层系统的线程机制来实现的,系统可以生成的最大线程数:/proc/sys/kernel/threads-max,系统可创建的最大pid数:/proc/sys/kernel/pid_max)三个方面影响。

增大堆内存(-Xms,-Xmx)会减少可创建的线程数量(栈区=可用内存-堆-直接内存),增大线程栈内存(-Xss,32位系统中此参数值最小为60K)也会减少可创建的线程数量(每个现象独立栈,栈区空间一定下,单个线程栈占据内存越小,可创建线程越多)。

cpu占用过高
服务缓慢
频繁GC

https://tech.meituan.com/2017/12/29/jvm-optimize.html

 

OOM

https://www.anvilliu.com/2021/04/01/JVM%E5%86%85%E5%AD%98%E6%B3%84%E9%9C%B2%EF%BC%88OOM%EF%BC%89%E7%9A%849%E7%A7%8D%E7%B1%BB%E5%9E%8B/

https://blog.51cto.com/u_15257216/2861461