Uploaded image for project: 'IMPALA'
  1. IMPALA
  2. IMPALA-691

Process mem limit should account for the JVM's memory usage

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Reopened
    • Major
    • Resolution: Unresolved
    • Impala 1.2.1, Impala 2.0, Impala 2.1, Impala 2.2, Impala 2.3.0
    • None
    • Backend

    Description

      The JVM doesn't appear to use malloc, so it's memory usage is not reported by tcmalloc and we do not count it in the process mem limit. I verified this by adding a large allocation in the FE, and noting that the total memory usage (virtual or resident) reported in /memz is not affected, but the virtual and resident memory usage reported by top is.

      This is problematic especially because Impala caches table metadata in the FE (JVM) which can become quite big (few GBs) in extreme cases.

      Workaround
      As a workaround, we recommend reducing the process memory limit by 1-2GB to "reserve" memory for the JVM. How much memory you should reserve typically depends on the size of your catalog ( number of tables/partitions/columns/blocks etc.)

      Attachments

        Activity

          People

            Unassigned Unassigned
            skye Skye Wanderman-Milne
            Votes:
            2 Vote for this issue
            Watchers:
            9 Start watching this issue

            Dates

              Created:
              Updated: