K8s Pod内存居高不下假象排查与解决(JDK17 G1+Arthas实战) 一、K8s 内存假象 最近有一个服务上线了很多job刷数据任务,服务存在定时批量刷数据、批量Mongo查询、批量序列化任务,每次任务执行后: 业务日志无 OOM、无报错 接口响应正常、GC 频率稳定 <
ThreadLocal 的缺陷本质源于其 “线程绑定 + 弱引用半清理” 设计。在异步编程成为主流的当下,推荐优先使用 TransmittableThreadLocal
Metaspace是JVM存储类元数据的共享内存区,JDK1.8后改用本地内存实现。关键参数-XX:MetaspaceSize设定GC触发水位线(动态浮动,受Max/MinMetaspaceFreeRatio调控)。实验通过CGLib动态加载类验证水位机制,证明当Metaspace占用达设定值时触发GC。需注意MaxMetaspaceSize避免内存耗尽。
介绍CMS和G1的基本原理和常用调优经验 / This section describes the basic principles and common tuning experience of CMS and G1