标签频道
堆外内存
该标签下的文章、提问与讨论帖。
«结论先行:"-XX:MaxDirectMemorySize" 不设置时,JVM 默认把它等同于 "-Xmx",但 Netty 4.1 的 PooledByteBufAllocator 走的是 "sun.nio.ch.DirectByteB
«结论先行:「火焰图里 "pthread_mutex_lock" 飙到 9%」只能证明有用户在等锁,证明不了等的是哪把锁。堆外内存毛刺的三个高频嫌疑人——Netty "PooledByteBufAllocator" 的 arena 锁、JI
背景 K8s 1.28.4 / cgroup v2 / containerd 1.7.13 / 内核 5.15,跑 Netty 4.1.100.Final 的 Java 17 网关服务,Pod limit=4Gi,JVM 侧 "-Xmx2.
问
Java 服务 RSS 3 天内从 4.1G 爬到 5.8G 但堆监控全绿:不重启、不装 agent,纯 cgroup v2 memory.stat + pmap 到底怎么切出那 1.7G 堆外大头?
【背景】 我做了 3 年运维,主责一条 Java 17 网关服务(Spring Boot 3,Netty 4.1,JDK 17.0.9,-Xmx3g -XX:MaxMetaspaceSize=256m),跑在 K8s 1.28 集群(cgr
«结论先行:"-XX:MaxDirectMemorySize" 不设置时,JVM 默认把它等同于 "-Xmx",但 Netty 4.1 的 PooledByteBufAllocator 走的是 "sun.nio.ch.DirectByteB
结论先行 Netty 的堆外内存问题,90% 不是「分配太多」,而是「没释放」——也就是 "ByteBuf.refCnt()" 泄漏。而排查这件事,"jcmd" / heap dump / 常规 JVM 工具链都帮不上忙,必须用「泄漏检测
文
标题
摘要