> Did you consider determining the default limit by inspecting the JVM's 
> runtime?
> For example, in the broker, we set `maxMessagePublishBufferSizeInMB` to 1/2
> of direct memory, by default.
>
> I concede that this config is more complicated than a broker config since
> we're talking about a client application. However, it seems like applications
> with 1 GB memory would probably want a different setting than one with
> 32 GB memory, and a fractional value could make the client work better
> "out of the box."
>
> We cannot make everyone happy with a default value, so if this dynamic
> default is too complicated to implement, I'm good with 64 MB. :)

The issue is that we don't know what are the application assumptions
with respect to the memory. Eg; even if it's given 32GB to the JVM, it
might want to use all of it.

The other aspect is that after a point, increasing the memory size,
won't increase the throughput anymore, and it will become just a waste
of RAM.

Reply via email to