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

Refuse to start on NUMA hardware if "numactl --interleave=all" is not set, bypass with --overrideNUMAwarning

    • Type: Icon: Improvement Improvement
    • Resolution: Won't Fix
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: None
    • Component/s: Admin
    • Labels:
      None
    • Environment:
      Linux
    • Minor Change

      The mongod server is known to suffer from serious performance problems when running on Linux systems on Non-Uniform Memory Access hardware unless mongod is started by numactl with the --interleave=all option. Today's server logs a large warning when started in this condition.

      Users may or may not notice the warning that mongod logs at startup, but even if they notice the warning they may not associate it with performance problems that crop up later. These users may blame mongod for the poor performance and not realize that they have missed a key configuration step.

      These users would be better served by having mongod refuse to start up in cases where they are likely to see problems later on. In the cases where it really is desired to run on NUMA hardware without memory interleaving, a command line switch would make this possible.

      Proposal:

      1. Add a command line option "--overrideNUMAwarning"
      2. In the case where today's code would print a warning about NUMA, check to see if the --overrideNUMAwarning option has been specified
      3. If the option has been given, display a toned-down warning noting that performance issues may be present and that we are starting anyway because of --overrideNUMAwarning
      4. If the option has not been given, log a clear message about why we are refusing to run, and about the two ways to fix it (use numactl --interleave=all or --overrideNUMAwarning) and refuse to run (exit)

      The goal is to increase product satisfaction by preventing a common case of misconfiguration.

            Assignee:
            Unassigned Unassigned
            Reporter:
            tad Tad Marshall
            Votes:
            2 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved: