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

    • Type: Icon: Improvement Improvement
    • Resolution: Unresolved
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: None
    • Component/s: Admin

      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.

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

              Created:
              Updated: