8G 的容器 Java 堆才 4G 怎么就 OOM 了?

摘要

最近,一例Java应用的OOM问题引起了关注。尽管Java堆外内存限制在1G,多个ClassLoader加载的netty实例导致实际使用超出限制。通过详细分析发现,netty直接使用UNSAFE.allocateMemory分配内存,绕过Java直接内存API,导致内存未被监控。建议短期内调整Java堆大小以缓解问题,并考虑优化rocketmq-client的内存占用。未来,排查堆外内存问题时,应优先检查netty。

欢迎在评论区写下你对这篇文章的看法。

评论

inicio - Wiki
Copyright © 2011-2025 iteam. Current version is 2.139.2. UTC+08:00, 2025-01-22 16:59
浙ICP备14020137号-1 $mapa de visitantes$