PCP-NUMASTAT(1)
π pcp-numastat β the manual page, but make it make sense
okay so bestie, this is pcp-numastat, a little tool from the General Commands Manual section of the PCP family, and it's literally the moment you find out who's been eating all the memory on which NUMA node. no cap. π§
β¨ NAME β¨
pcp-numastat β report on NUMA memory allocation π
πΈ SYNOPSIS πΈ
pcp [pcp options] numastat [-mnV?] [-w width] [-p [process ...]]
that's the whole vibe check right there. π
π DESCRIPTION π
so pcp-numastat displays NUMA allocation statistics straight from the kernel memory allocator. the way that every process has NUMA policies that say which node its pages get allocated on?? iconic. and the kernel's performance counters keep track of which nodes memory actually lands on, and then pcp-numastat samples those values and reports them back to you. obsessed. β¨
counters are maintained individually for each NUMA node β like, each one gets its own little diary π β and if you want the details of the semantics of each reported metric, you can pull them up with this command:
# pminfo βdt mem.numa.alloc
run it, read it, slay. π
π OPTIONS π
when you invoke this via the pcp(1) command, a bunch of options become indirectly available to you: -h/--host, -a/--archive, -O/--origin, -Z/--timezone and several other pcp options. for a complete description of those, go read PCPIntro(1). π«Ά
and here are the extra command line options that pcp-numastat itself brings to the table:
-m,--meminfoβ displays meminfo-like system-wide memory usage. the big picture, the whole squad's memory habits. π-n,--numastatβ displays the numastat statistics info. that's it, that's the one. π-p,--processβ displays per-process NUMA memory usage, pulled fromproc.numa_mapsmetrics. any trailing process operands get treated as process IDs (when the operand is all digits) or as regular expressions for command name matching. and matching for command names is performed against the full command line (as reported byproc.psinfo.psargs) β full thing, no half measures. when a single process ID operand is provided and it matches exactly one process, you get a detailed table of Hugepage, Heap, Stack and Private mappings (as innumastat -p). when multiple process ID operands are provided, you get a per-process summary table (also likenumastat -p) and it may be split into multiple node column blocks based on the available display width. flexible fr fr. π₯-V,--versionβ displays the current version of the command. π-wwidth,--width=width β limits display to width. keep it cute and narrow. π-?,--helpβ displays the usage message and exits. the classic. π
lowkey important note about the per-process view: node columns are always shown for all NUMA nodes present on the system (as reported by PCP NUMA inventory metrics), even if individual proc.numa_maps metric instances omit some nodes. and missing per-process metrics are reported as zero. so no blank spaces, no mystery gaps β just zeros where the data isn't. β
π¦ NOTES π¦
pcp-numastat is inspired by the numastat(1) command, and it produces the same output for the system-wide views. the per-process view (-p) follows the numastat -p layout. so if you already know that one, you already know this one. iykyk. π
π PCP ENVIRONMENT π
environment variables with the prefix PCP_ are used to parameterize the file and directory names used by PCP. on each installation, the file /etc/pcp.conf contains the local values for these variables. and the $PCP_CONF variable may be used to specify an alternative configuration file, as described in pcp.conf(5). main character energy for config files honestly. π
for environment variables affecting PCP tools, see pmGetOptions(3). β¨
π SEE ALSO π
PCPIntro(1), pcp(1) and numastat(1). go read them, bestie, they're all part of the lore. π«Ά
and that's the whole page!! no cap, every flag accounted for. π
Performance Co-Pilot πΈ PCP πΈ and this lil manual is PCP-NUMASTAT(1), brought to you by the PCP girlies. k byeeee π
β¨π
π¦ where this page comes from
- arch rolling: pcp 7.2.2-2 Β· GPL-2.0-or-later AND LGPL-2.1-or-later AND CC-BY-3.0
- centos-stream 10: pcp-doc 7.1.5-6.el10 Β· GPL-2.0-or-later AND CC-BY-3.0
- fedora 43: pcp-doc 7.2.1-1.fc43
- fedora 43: pcp-doc 7.2.2-1.fc43
- fedora 43: pcp-doc 7.2.2-2.fc43 Β· GPL-2.0-or-later AND CC-BY-3.0
- fedora 44: pcp-doc 7.2.1-1.fc44
- fedora 44: pcp-doc 7.2.2-1.fc44
- fedora 44: pcp-doc 7.2.2-2.fc44 Β· GPL-2.0-or-later AND CC-BY-3.0
- ubuntu resolute: pcp 7.1.1-1
- ubuntu stonking: pcp 7.2.1-2build1
- Copyright (c) 2016,2019 Red Hat
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms