Provided by: numactl_2.0.9~rc5-1ubuntu3.14.04.2_amd64 bug

numastat

       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 memory) 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  preferring  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 significantly 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 described below.

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 information 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 assumed 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 remaining 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 specified <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 information for multiple processes will
              display detailed information for each process.  Normally when per-node  information  for  multiple
              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 characters is assumed.  When the resize command is available, numastat
       attempts 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  NUMASTAT_WIDTH  environment
       variable.   For  example,  NUMASTAT_WIDTH=100  numastat.  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 usage and per-node process memory
       allocation.

SEE ALSO

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