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

Use get_mempolicy() or /proc/zoneinfo instead of /sys/devices/system/node/node1 to determine if NUMA is present

    XMLWordPrintableJSON

Details

    • Icon: Improvement Improvement
    • Resolution: Unresolved
    • Icon: Major - P3 Major - P3
    • None
    • None
    • Admin

    Description

      When the NUMA startup warning tries to determine if the host has more than 1 NUMA node, it looks for the existence of /sys/devices/system/node/node1. However, this is needlessly fragile because /sys might

      1. not be mounted,
      2. be mounted elsewhere,
      3. be missing certain hardware info (eg. NUMA nodes), or
      4. have restricted ownership or permissions (or be subject to other MAC restrictions like SELinux or AppArmor).

      Better approaches to determine the number of NUMA nodes are to either use the get_mempolicy() Linux syscall, or as a fallback, look for a line starting with "Node 1" in /proc/zoneinfo.

      Attachments

        Activity

          People

            backlog-server-platform DO NOT USE - Backlog - Platform Team
            kevin.pulo@mongodb.com Kevin Pulo
            Votes:
            1 Vote for this issue
            Watchers:
            9 Start watching this issue

            Dates

              Created:
              Updated: