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/.

>

Reply via email to