[ 
https://issues.apache.org/jira/browse/IMPALA-15022?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Joe McDonnell resolved IMPALA-15022.
------------------------------------
    Fix Version/s: Impala 5.0.0
         Assignee: Joe McDonnell
       Resolution: Fixed

> Consider modifying our tcmalloc metrics to include malloc metadata
> ------------------------------------------------------------------
>
>                 Key: IMPALA-15022
>                 URL: https://issues.apache.org/jira/browse/IMPALA-15022
>             Project: IMPALA
>          Issue Type: Task
>          Components: Backend
>    Affects Versions: Impala 5.0.0
>            Reporter: Joe McDonnell
>            Assignee: Joe McDonnell
>            Priority: Major
>             Fix For: Impala 5.0.0
>
>
> Our existing gperftools tcmalloc metrics historically have not included the 
> malloc metadata. Back when the tcmalloc metrics were added to Impala, 
> gperftools did not expose metrics that would include the malloc metadata. 
> Since then, gperftools has added new metrics that do include it, e.g. 
> generic.total_physical_bytes. Malloc metadata can be a couple hundred MBs on 
> busy systems, so this is not a major change, but it seems like a slight 
> improvement to our metrics.
> One up side to making this change is that our metrics would line up exactly 
> to the text output from tcmalloc in the /memz page.
> {noformat}
>     // ------------------------------------------------
>     // MALLOC:      145138800 (  138.4 MiB) Bytes in use by application (#1)
>     // MALLOC: +      1056768 (    1.0 MiB) Bytes in page heap freelist (#2)
>     // MALLOC: +      1929472 (    1.8 MiB) Bytes in central cache freelist 
> (#3)
>     // MALLOC: +      7655168 (    7.3 MiB) Bytes in transfer cache freelist 
> (#4)
>     // MALLOC: +      6626192 (    6.3 MiB) Bytes in thread cache freelists 
> (#5)
>     // MALLOC: +      6160448 (    5.9 MiB) Bytes in malloc metadata
>     // MALLOC:   ------------
>     // MALLOC: =    168566848 (  160.8 MiB) Actual memory used (physical + 
> swap) (#6**)
>     // MALLOC: +     51183616 (   48.8 MiB) Bytes released to OS (aka 
> unmapped) (#7)
>     // MALLOC:   ------------
>     // MALLOC: =    219750464 (  209.6 MiB) Virtual address space used (#8**)
>     // MALLOC:
>     // MALLOC:           4354              Spans in use
>     // MALLOC:            790              Thread heaps in use
>     // MALLOC:           8192              Tcmalloc page size{noformat}
> #1 = tcmalloc.bytes-in-use (generic.current_allocated_bytes)
> #2 = tcmalloc.pageheap-free-bytes (tcmalloc.pageheap_free_bytes)
> #3 = tcmalloc.central-cache-free-bytes (tcmalloc.central_cache_free_bytes)
> #4 = tcmalloc.transfer-cache-free-bytes (tcmalloc.transfer_cache_free_bytes)
> #5 = tcmalloc.thread-cache-free-bytes (tcmalloc.thread_cache_free_bytes)
> #6 = tcmalloc.physical-bytes-reserved = #8 - #7 ** Except Impala's metric is 
> currently missing the metadata
> #7 = tcmalloc.pageheap-unmapped-bytes (tcmalloc.pageheap_unmapped_bytes)
> #8 = tcmalloc.total-bytes-reserved (generic.heap_size) ** Except Impala's 
> metric is currently missing the metadata
> If we reworked it to include the metadata, then #6 and #8 would line up 
> nicely with the memz output.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to