Posts: 14
Registered: ‎08-07-2017
Accepted Solution

Understand Impalad memz Breakdown

[ Edited ]



Could you help me understand the meaning of Total, Peak and Exprs in Breakdown section of the impalad memz page? In my understanding, Peak mem is the Peak memory we've seen so far for that component (Query, Frag or Node etc); Total is the current timepoint's total memory consumption of that component on the machine; and what does (total and Peak of) Exprs mean?


Here's a snippet:


Process: Limit=256.00 MB Total=142.79 MB Peak=264.24 MB
  Free Disk IO Buffers: Total=4.50 MB Peak=102.56 MB
  RequestPool=root.centos: Total=11.60 MB Peak=187.26 MB
    Query(e040ae477e9d2aec:87d527e600000000): Total=11.60 MB Peak=13.45 MB
      Fragment e040ae477e9d2aec:87d527e600000005: Total=10.30 MB Peak=10.98 MB
        AGGREGATION_NODE (id=3): Total=10.29 MB Peak=10.29 MB
          Exprs: Total=4.00 KB Peak=4.00 KB
        EXCHANGE_NODE (id=2): Total=0 Peak=0
        DataStreamRecvr: Total=0 Peak=0
        HdfsTableSink: Total=0 Peak=0
        CodeGen: Total=3.32 KB Peak=696.50 KB
      Block Manager: Limit=156.00 MB Total=8.50 MB Peak=8.50 MB
      Fragment e040ae477e9d2aec:87d527e600000002: Total=1.30 MB Peak=2.47 MB
        AGGREGATION_NODE (id=1): Total=1.29 MB Peak=1.29 MB
          Exprs: Total=4.00 KB Peak=4.00 KB
        HDFS_SCAN_NODE (id=0): Total=0 Peak=0
        DataStreamSender (dst_id=2): Total=3.14 KB Peak=3.14 KB
        CodeGen: Total=0 Peak=1.16 MB




Cloudera Employee
Posts: 335
Registered: ‎07-29-2015

Re: Understand Impalad memz Breakdown

"Exprs" tracks memory used by any SQL expressions evaluated in that node. E.g. if you have a regexp_replace() function operating on large strings, it will use more memory than a simple expression like "1 + 2".


The main use case is to help track down UDFs that uses a lot of memory, e.g. if they have a memory leak.

Posts: 14
Registered: ‎08-07-2017

Re: Understand Impalad memz Breakdown

Got it, thanks Tim.