Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Presto is not releasing the memory #15637

Open
hmanju2k7 opened this issue Jan 26, 2021 · 9 comments
Open

Presto is not releasing the memory #15637

hmanju2k7 opened this issue Jan 26, 2021 · 9 comments

Comments

@hmanju2k7
Copy link

We are using 0.234.1 version of Presto DB.

The memory utilization of the VM is initially 7% when no queries are running, after we run some queries, thr VM memory utilization goes up to 40%

But then when we are not running any queries, memory is not getting released and stays at 40% instead of coming back to 7%.

The memory becomes free only after we restart the Presto server.

Because of this we are not able to auto scale down the Presto worker nodes based on memory utilization.

Any help or suggestions would be really helpful.

@bing0109
Copy link

i got the same problem in 0.245.1

@rongrong
Copy link
Contributor

@mbasmanova @bhasudha Is this something you guys can take a look into?

@rohanpednekar
Copy link
Contributor

@hmanju2k7 can you share your JVM flags for presto config?

@929359291
Copy link

929359291 commented Apr 22, 2021

I have the same problem, this is my jvm.config,please help me, thanks, @rohanpednekar

-server
-Xmx28G
-XX:-UseBiasedLocking
-XX:+UseG1GC
-XX:+ExplicitGCInvokesConcurrent
-XX:+HeapDumpOnOutOfMemoryError
-XX:+UseGCOverheadLimit
-XX:+ExitOnOutOfMemoryError
-XX:ReservedCodeCacheSize=512M

config.properties:
coordinator emr-default
discovery-server.enabled emr-default
discovery.uri
http-server.http.port 9000
node-scheduler.include-coordinator emr-default
query.max-memory 24GB
query.max-memory-per-node 8GB
query.max-stage-count 700
query.max-total-memory-per-node 12GB
task.max-worker-threads 4

@929359291
Copy link

please help me, please @-@

@hetu18274506280
Copy link

@hmanju2k7 @rongrong @rohanpednekar @929359291 @mbasmanova How do you solve this problem

@mbasmanova
Copy link
Contributor

Folks, I'm not sure I understand the question here. Java, unlike C++, does not guarantee that memory is released when not used anymore.

Because of this we are not able to auto scale down the Presto worker nodes based on memory utilization.

Presto reports the actual memory usage of the queries. Can you use this information for auto scaling?

@mbasmanova
Copy link
Contributor

See https://stackoverflow.com/questions/30458195/does-gc-release-back-memory-to-os for relevant discussion.

@929359291
Copy link

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

7 participants