Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-31417

Improve tcmalloc when decommitting large amounts of memory

    XMLWordPrintableJSON

Details

    • Product Performance
    • Dev Tools 2019-05-06, Dev Tools 2019-04-22

    Description

      tcmalloc may occasionally release large amounts of pageheap free memory to the kernel by calling madvise. This can take seconds when the amount of memory involved is many GB. A tcmalloc internal lock is held while this happens, so this can potentially stall many threads, causing widespread latency spikes.

      There is no direct metric that diagnoses this (SERVER-31380 would provide that), but it can be indirectly inferred to be a likely cause from the following:

      • tcmalloc pageheap free memory decreases to near zero
      • tcmalloc unmapped memory increases by a corresponding amount
      • resident memory decreases by the same amount
      • system free memory increases by that amount

      Attachments

        Issue Links

          Activity

            People

              backlog-server-perf Backlog - Performance Team
              bruce.lucas@mongodb.com Bruce Lucas (Inactive)
              Votes:
              41 Vote for this issue
              Watchers:
              87 Start watching this issue

              Dates

                Created:
                Updated: