Support Questions
Find answers, ask questions, and share your expertise
Announcements
Alert: Welcome to the Unified Cloudera Community. Former HCC members be sure to read and learn how to activate your account here.

Should Impala release memory after use?

Solved Go to solution

Should Impala release memory after use?

Rising Star

As per the title really.  I'm seeing high memory usage on a few data nodes ,which is down to impala, however at the time there are no active impala queieres running on the nodes.

If I restart the impalad the memory will clear and remaing free until a query runs.  I can monitor the query using the memory, but when it finishes the memory is not released back to the system.

1 ACCEPTED SOLUTION

Accepted Solutions

Re: Should Impala release memory after use?

Master Collaborator

It's normal for idle Impala daemons to hold onto 1-2GB of memory plus the JVM heap memory. Any more than that may indicate something wrong.

 

The memz debug page has diagnostics for this: http://impala-daemon:25000/memz?detailed=true . You can see there if a fragment of a query is holding onto memory.

 

There are two common ways this can happen:

* The query wasn't cancelled and closed. In this case it should show up on the /queries page of the coordinator

* The query was cancelled and closed, but a fragment continued running (this is a bug). In that case you should see a running fragment-execution thread in /threadz on the impala daemon web page.

3 REPLIES 3

Re: Should Impala release memory after use?

Super Collaborator

As far as I understand how Impala works, that is the expected behaviour.

It is indeed intended for speeding up later queries that use the same sets of data.

 

Re: Should Impala release memory after use?

Master Collaborator

It's normal for idle Impala daemons to hold onto 1-2GB of memory plus the JVM heap memory. Any more than that may indicate something wrong.

 

The memz debug page has diagnostics for this: http://impala-daemon:25000/memz?detailed=true . You can see there if a fragment of a query is holding onto memory.

 

There are two common ways this can happen:

* The query wasn't cancelled and closed. In this case it should show up on the /queries page of the coordinator

* The query was cancelled and closed, but a fragment continued running (this is a bug). In that case you should see a running fragment-execution thread in /threadz on the impala daemon web page.

Re: Should Impala release memory after use?

Rising Star

Thank you for the detailed answer