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 from proc.numa_maps metrics. 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 by proc.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 in numastat -p). when multiple process ID operands are provided, you get a per-process summary table (also like numastat -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. πŸ’œ
  • -w width, --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