Like most things, it depends on (a) what you're allowing and (b) how much your nodes require. MaxDirectMemorySize is the upper-bound for off-heap memory used for the direct byte buffer. C* uses it for Netty so if your nodes are busy servicing requests, they'd have more IO threads consuming memory.
During low traffic periods, there's less memory allocated to service requests and they eventually get freed up by GC tasks. But if traffic volumes are high, memory doesn't get freed up quick enough so the max is reached. When this happens, you'll see OOMs like "OutOfMemoryError: Direct buffer memory" show up in the logs. You can play around with different values but make sure you test it exhaustively before trying it out in production. Cheers! GOT QUESTIONS? Apache Cassandra experts from the community and DataStax have answers! Share your expertise on https://community.datastax.com/. >
