23 lines
564 B
Markdown
23 lines
564 B
Markdown
|
|
# OOM
|
||
|
|
|
||
|
|
> OOM: Out of Memory
|
||
|
|
> 内存溢出:申请内存时, JVM 没有足够的内存空间
|
||
|
|
> ML: Memory Leak
|
||
|
|
> 内存泄漏:申请了内存,但是没有释放,导致内存空间浪费
|
||
|
|
|
||
|
|
|
||
|
|
- 合理设置堆内存大小
|
||
|
|
- 内存分析工具排查问题
|
||
|
|
- GC 日志分析
|
||
|
|
- 控制缓存
|
||
|
|
|
||
|
|
|
||
|
|
**容易出现 OOM 的业务场景**
|
||
|
|
|
||
|
|
- 处理大量图片、文件、大数据集未及时释放
|
||
|
|
- 内存泄漏,数据库连接未关闭、缓存未清理
|
||
|
|
- 缓存没有限制大小
|
||
|
|
- 线程数量过多
|
||
|
|
- 无限递归
|
||
|
|
- 强引用过多
|
||
|
|
- 一次性处理大文件
|