I'm SO confusing about memory-settings in Presto. Please check this out below:
query.max-memory
query.max-memory-per-node
(base config)query.max-total-memory
(release in 0.205)resources.reserved-system-memory
(admin properties)
That is all I can find out.
Here are my Presto settings:
- etc/config.properties
query.max-memory=2.25GB
query.max-total-memory=2.25GB
query.max-memory-per-node=0.75GB
- jvm: -Xmx3G -Xms3G
Base on my settings, I found these rules:
query.max-memory-per-node
<= jvm * 0.25General Pool = jvm * 0.4, same as the default value of
resources.reserved-system-memory
Reserved Pool = jvm * 0.3
Here are my questions:
The relationship between all kinds of memory-settings. (like
resources.reserved-system-memory
is General Pool?query.max-total-memory
=user memory+system memory, what are user memory and system memory?)What General Pool and Reserved Pool use for? How can I change their values?
General Pool(40% of jvm), Reserved Pool(30% of jvm), where is the last 30% of jvm? or How Presto assigns my 3GB jvm memory?