PCP-BUDDYINFO(1)

πŸ“¦
version 7.2.2 Β· 2 versions
, in arch rolling, centos-stream 10, fedora 43, fedora 44, ubuntu resolute, ubuntu stonking

✨ pcp-buddyinfo β€” bestie edition ✨

okay so real talk, this is the pcp-buddyinfo manual page, part of the Performance Co-Pilot (PCP) lineup of general commands. it's giving very niche, very powerful, very iykyk. πŸ’…


πŸŽ€ NAME πŸŽ€

pcp-buddyinfo β€” report Linux kernel buddy algorithm statistics

like... it literally just tells you what the buddy algorithm is up to. that's the whole vibe.


🌸 SYNOPSIS 🌸

pcp [pcp options] buddyinfo [-uVz?]  [-s samples] [-a archive] [-Z timezone]

πŸ¦‹ DESCRIPTION πŸ¦‹

so pcp-buddyinfo is the tool you run when you wanna peek at all the different stats related to buddyinfo. it helps you analyze the dynamic behaviour of the buddy algorithm that lives inside the Linux kernel virtual memory subsystem. ✨

the tea it spills includes: the total number of zones that are currently active, counts of different order pages, and so on. and by default? it reports live data for the local host. no archive needed, no cap. 🫢

here's what the statistics actually are, bestie:

  • Normal β€” zones available
  • Nodes β€” available nodes
  • Order0 β€” available pages of order 0
  • Order1 β€” available pages of order 1
  • Order2 β€” available pages of order 2
  • Order3 β€” available pages of order 3
  • Order4 β€” available pages of order 4
  • Order5 β€” available pages of order 5
  • Order6 β€” available pages of order 6
  • Order7 β€” available pages of order 7
  • Order8 β€” available pages of order 8
  • Order9 β€” available pages of order 9
  • Order10 β€” available pages of order 10

each column represents the number of pages of a certain order (aka a certain size) that are available at any given time. for example, for zone DMA (direct memory access), there are 90 of 2^(0*PAGE_SIZE) chunks of memory. similarly, there are 6 of 2^(1*PAGE_SIZE) chunks, and 2 of 2^(2*PAGE_SIZE) chunks of memory available. the way that math ate πŸ’…

and the rows?? let me put you on:

  • the DMA row references the first 16 MB on a system
  • the HighMem row references all memory greater than 4 GB on a system
  • the Normal row references all memory in between

periodt. 🌈


πŸ’– OPTIONS πŸ’–

  • -a file, --archive=file β€” fetch buddyinfo metrics from the specified PCP archive. πŸ—‚οΈ
  • -s count, --samples=count β€” limit reporting to count samples of buddyinfo statistics.
  • -u, --no-interpol β€” disable the default interpolation mode when replaying an archive. with the -u option, interpolated reporting is disabled and each sample is reported according to native sampling intervals in the archive. in this mode the -t option is ignored. additionally, non-interpolated replay makes sense only when replaying an archive (using the -a option described above), so the -a option is mandatory when -u is specified. 🚨
  • -z, --hostzone β€” use the local timezone of the host that is the source of the performance metrics, as identified by either the -h or the -a options. the default is to use the timezone of the local host. 🌍
  • -Z timezone, --timezone=timezone β€” use timezone for the date and time. Timezone is in the format of the environment variable TZ as described in environ(7).
  • -V, --version β€” display version number and exit. bye πŸ‘‹
  • -?, --help β€” display usage message and exit.

πŸ“ NOTES πŸ“

pcp-buddyinfo reports information extracted from the /proc/buddyinfo Linux kernel procfs file. πŸ“

if the default interpolation mode is disabled, it is possible that some metrics (recorded at different intervals) will be reported as having missing values for some samples even if they were recorded. so like... heads up, bestie. 😭

🌈 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. the $PCP_CONF variable may be used to specify an alternative configuration file, as described in pcp.conf(5). 🫢

for environment variables affecting PCP tools, see pmGetOptions(3).


πŸ‘‘ SEE ALSO πŸ‘‘

PCPIntro(1), pcp(1), pmGetOptions(3), pcp.conf(5) and environ(7).


that's the whole page, you're welcome πŸ’œ

Performance Co-Pilot Β· PCP Β· PCP-BUDDYINFO(1) β€” mwah, stan this manpage, it's iconic fr fr πŸŽ€βœ¨πŸ¦‹

πŸ“¦ where this page comes from