PMDAKVM(1)

πŸ’– PMDAKVM πŸ’–

okay bestie so this is a page from the General Commands Manual section and it's literally all about pmdakvm, the Linux virtualization performance metrics domain agent (PMDA). sit down, grab a strawberry πŸ“, we're doing this.


✨ NAME ✨

pmdakvm β€” Linux virtualization performance metrics domain agent (PMDA) πŸ‘‘


🌸 SYNOPSIS 🌸

$PCP_PMDAS_DIR/kvm/pmdakvm [-D debug]

that's it. that's the whole vibe check. πŸ’…


πŸ¦‹ DESCRIPTION πŸ¦‹

so pmdakvm is a Performance Metrics Domain Agent (PMDA) β€” and what a PMDA does is export metric values from the Linux KVM (Kernel Virtual Machine) virtualization subsystem. no cap, that's the whole job. 🧚

and here's the tea: per-processor KVM trace metrics come from the kernel events enumerated below /sys/kernel/debug/tracing/events/kvm, and you can configure them statically using the pmdakvm configuration file, which lives at /etc/pcp/kvm/kvm.conf. πŸ’–


πŸŽ€ INSTALLATION πŸŽ€

first things first: optionally configure your trace points in the configuration file. then install the KVM PMDA using the Install script, as root:

# cd $PCP_PMDAS_DIR/kvm
# ./Install

and to uninstall, bestie, you do this as root:

# cd $PCP_PMDAS_DIR/kvm
# ./Remove

now listen: pmdakvm is launched by pmcd(1) and should never be executed directly. like, don't. the Install and Remove scripts notify pmcd(1) when the agent is installed or removed, so the machinery handles itself. main character energy only. 😭


πŸ’€ CAVEATS πŸ’€

okay this part is important, no skipping:

while pmdakvm is running, it holds references to kernel resources within the KVM device driver. which means β€” and I need you to hear me β€” it is not possible to unload or reload the device driver module while the PMDA is running. πŸ™ˆ

so the ideal procedure to reload the kernel module is the reverse of what we just did in the ``INSTALLATION'' section. i.e.:

  1. first run ./Remove
  2. then reload the kernel module
  3. then run ./Install

in that order. periodt. πŸ”₯


πŸ“ FILES πŸ“

  • $PCP_SYSCONF_DIR/kvm/kvm.conf β€” configuration file for the pmdakvm agent
  • $PCP_PMDAS_DIR/kvm/Install β€” installation script for the pmdakvm agent
  • $PCP_PMDAS_DIR/kvm/Remove β€” undo installation script for the pmdakvm agent
  • $PCP_LOG_DIR/pmcd/kvm.log β€” default log file for error messages from pmdakvm

🌈 PCP ENVIRONMENT 🌈

environment variables with the prefix PCP_ are used to parameterize the file and directory names used by PCP. every time you install, 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). slay. ✨


πŸ’… DEBUGGING OPTIONS πŸ’…

  • -D, --debug β€” turns on the output of additional diagnostics on stderr to help triage problems. lowkey though, the information is sometimes cryptic and is primarily intended to provide guidance for developers rather than for end-users. debug is a comma separated list of debugging options; use pmdbg(1) with the -l option to get a list of the available debugging options and what they actually mean. πŸ‘‘

⭐ SEE ALSO ⭐

PCPIntro(1), pmcd(1) and kvm(1).


and that's the whole page, bestie!! 🫢 this came to you from Performance Co-Pilot, PCP β€” the PMDAKVM(1) energy, dated however old this thing is. go forth and monitor some virtual machines, you absolute icon. πŸ’œπŸŽ€πŸ¦‹

πŸ“¦ where this page comes from