How do I know if my server has NUMA?

后端 未结 5 1006
失恋的感觉
失恋的感觉 2021-02-01 19:03

Hopping from Java Garbage Collection, I came across JVM settings for NUMA. Curiously I wanted to check if my CentOS server has NUMA capabilities or not. Is there a *ix command o

相关标签:
5条回答
  • 2021-02-01 19:34

    You can also get this info from lscpu command:

    lscpu | grep -i numa
    NUMA node(s):          2
    NUMA node0 CPU(s):     0-19,40-59
    NUMA node1 CPU(s):     20-39,60-79
    
    0 讨论(0)
  • 2021-02-01 19:45

    I think this previous question is similar: How to confirm NUMA?

    In particular, you can review the NUMA man page here: http://man7.org/linux/man-pages/man7/numa.7.html

    And from there you'll see:

    $ find /proc -name numa_maps
    /proc/1/task/1/numa_maps
    /proc/1/numa_maps
    /proc/2/task/2/numa_maps
    /proc/2/numa_maps
    /proc/3/task/3/numa_maps
    [etc if you have numa]
    

    And you can get more detail like so:

    $ grep NUMA=y /boot/config-`uname -r`
    CONFIG_NUMA=y
    CONFIG_K8_NUMA=y
    CONFIG_X86_64_ACPI_NUMA=y
    CONFIG_ACPI_NUMA=y
    
    $ numactl --hardware
    available: 2 nodes (0-1)
    node 0 size: 18156 MB
    node 0 free: 9053 MB
    node 1 size: 18180 MB
    node 1 free: 6853 MB
    node distances:
    node   0   1
      0:  10  20
      1:  20  10
    
    0 讨论(0)
  • 2021-02-01 19:47

    For Redhat 4,5,6 and 7 systems, one can try the following to determine if NUMA configuration is disabled:

    numactl --show does not show multiple nodes

    # numactl --show
    policy: default
    preferred node: current
    physcpubind: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
    cpubind: 0
    nodebind: 0
    membind: 0
    

    or numactl --hardware does not list multiple nodes

    # numactl --hardware
    available: 1 nodes (0)
    node 0 cpus: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
    node 0 size: 524163 MB
    node 0 free: 505253 MB
    node distances:
    node   0
      0:  10
    
    0 讨论(0)
  • 2021-02-01 19:47

    You can also just query the information from /sys (this is what tools like numactl do underneath). As others pointed out, using dmesg will be unreliable since it usually does not have unlimited buffering.

    To find out how many NUMA nodes are currently available, do:

    cat /sys/devices/system/node/online
    0-3
    
    0 讨论(0)
  • 2021-02-01 19:49

    I'm no expert here, but here's something:

    Box 1, no NUMA:

    ~$ dmesg | grep -i numa
    [    0.000000] No NUMA configuration found
    

    Box 2, some NUMA:

    ~$ dmesg | grep -i numa
    [    0.000000] NUMA: Initialized distance table, cnt=8
    [    0.000000] NUMA: Node 4 [0,80000000) + [100000000,280000000) -> [0,280000000)
    
    0 讨论(0)
提交回复
热议问题