dwww Home | Manual pages | Find package

numastat(8)                     Administration                     numastat(8)

NAME
       numastat  -  Show per-NUMA-node memory statistics for processes and the
       operating system

SYNTAX
       numastat

       numastat [-V]

       numastat [<PID>|<pattern>...]

       numastat [-c] [-m] [-n] [-p  <PID>|<pattern>]  [-s[<node>]]  [-v]  [-z]
       [<PID>|<pattern>...]

DESCRIPTION
       numastat with no command options or arguments at all, displays per-node
       NUMA  hit  and miss system statistics from the kernel memory allocator.
       This default numastat behavior is strictly compatible with the previous
       long-standing numastat perl script, written by Andi Kleen.  The default
       numastat statistics shows per-node numbers (in units of pages  of  mem-
       ory) in these categories:

       numa_hit is memory successfully allocated on this node as intended.

       numa_miss  is memory allocated on this node despite the process prefer-
       ring some different node. Each numa_miss has a numa_foreign on  another
       node.

       numa_foreign  is  memory intended for this node, but actually allocated
       on some different node.  Each numa_foreign has a numa_miss  on  another
       node.

       interleave_hit  is  interleaved  memory  successfully allocated on this
       node as intended.

       local_node is memory allocated on this node while a process was running
       on it.

       other_node is memory allocated on this node while a process was running
       on some other node.

       Any supplied options or arguments with the numastat command  will  sig-
       nificantly  change  both  the  content  and  the format of the display.
       Specified options will cause display units to change  to  megabytes  of
       memory,  and  will  change  other specific behaviors of numastat as de-
       scribed below.

       Memory usage information reflects the resident pages on the system.

OPTIONS
       -c     Minimize table display width  by  dynamically  shrinking  column
              widths  based  on  data  contents.  With this option, amounts of
              memory will be rounded to the nearest megabyte (rather than  the
              usual display with two decimal places).  Column width and inter-
              column  spacing will be somewhat unpredictable with this option,
              but the more dense display will be very useful on  systems  with
              many NUMA nodes.

       -m     Show  the  meminfo-like  system-wide  memory  usage information.
              This option produces a per-node breakdown of memory usage infor-
              mation similar to that found in /proc/meminfo.

       -n     Show the original numastat statistics info.  This will show  the
              same  information as the default numastat behavior but the units
              will be megabytes of memory, and there will be other  formatting
              and layout changes versus the original numastat behavior.

       -p <PID> or <pattern>
              Show  per-node  memory  allocation information for the specified
              PID or pattern.  If the -p argument is only digits,  it  is  as-
              sumed to be a numerical PID.  If the argument characters are not
              only  digits,  it  is  assumed  to be a text fragment pattern to
              search for in process command lines.  For example,  numastat  -p
              qemu  will  attempt  to  find and show information for processes
              with "qemu" in the command line.  Any command line arguments re-
              maining after numastat option flag processing is completed,  are
              assumed  to be additional <PID> or <pattern> process specifiers.
              In this sense, the -p option flag is optional: numastat qemu  is
              equivalent to numastat -p qemu

       -s[<node>]
              Sort the table data in descending order before displaying it, so
              the  biggest  memory consumers are listed first.  With no speci-
              fied <node>, the table will be sorted by the total  column.   If
              the  optional  <node>  argument  is  supplied,  the data will be
              sorted by the <node> column.  Note that <node> must  follow  the
              -s  immediately with no intermediate white space (e.g., numastat
              -s2). Because -s can allow an optional argument, it must  always
              be  the  last  option  character  in a compound option character
              string. For example, instead of numastat  -msc  (which  probably
              will not work as you expect), use numastat -mcs

       -v     Make some reports more verbose.  In particular, process informa-
              tion  for  multiple  processes will display detailed information
              for each process.  Normally when per-node information for multi-
              ple processes is displayed, only the total lines are shown.

       -V     Display numastat version information and exit.

       -z     Skip display of table rows and columns  of  only  zero  valuess.
              This  can  be used to greatly reduce the amount of uninteresting
              zero data on systems with many NUMA nodes.  Note that when  rows
              or  columns  of zeros are still displayed with this option, that
              probably means there is at least one value in the row or  column
              that is actually non-zero, but rounded to zero for display.

NOTES
       numastat attempts to fold each table display so it will be conveniently
       readable on the output terminal.  Normally a terminal width of 80 char-
       acters  is assumed.  When the resize command is available, numastat at-
       tempts to dynamically determine and fine tune the output tty width from
       resize output.  If numastat output is not to a tty,  very  long  output
       lines  can  be  produced, depending on how many NUMA nodes are present.
       In all cases, output width can be explicitly specified via  the  NUMAS-
       TAT_WIDTH environment variable.  For example, NUMASTAT_WIDTH=100  numa-
       stat.  On systems with many NUMA nodes, numastat -c -z .... can be very
       helpful to selectively reduce the amount of displayed information.

ENVIRONMENT VARIABLES
       NUMASTAT_WIDTH

FILES
       /proc/*/numa_maps
       /sys/devices/system/node/node*/meminfo
       /sys/devices/system/node/node*/numastat

EXAMPLES
       numastat -c -z -m -n
       numastat -czs libvirt kvm qemu
       watch -n1 numastat
       watch -n1 --differences=cumulative numastat

AUTHORS
       The  original numastat perl script was written circa 2003 by Andi Kleen
       <andi.kleen@intel.com>.  The current numastat program  was  written  in
       2012  by  Bill Gray <bgray@redhat.com> to be compatible by default with
       the original, and to add options to display per-node system memory  us-
       age and per-node process memory allocation.

SEE ALSO
       numactl(8), set_mempolicy(2), numa(3)

Bill Gray                            1.0.0                         numastat(8)

Generated by dwww version 1.16 on Mon Jul 13 23:52:08 CEST 2026.