Gathering information about a virtual machine
QNX Hypervisor provides ways for gathering information about the VM running inside of a qvm process.
This runtime VM information is useful for systems integrators and anyone setting up guest OSs and drivers. Here we only summarize the mechanisms for getting this information. For details about the specific data that each mechanism provides, go to the corresponding note in the QNX Hypervisor GitLab Repository at: https://gitlab.com/qnx/hypervisor/tools-for-qnx-hypervisor/gathering-information-about-a-virtual-machine.
Getting guest status (SIGUSR1) and guest dumps (SIGUSR2)
slay -sSIGUSR1 qvm
This signal causes qvm and all loaded vdevs to log free-form text
describing their current status at the QL_QVM_INFO level
(i.e., information type messages).
For an explanation of filtering messages by their type and specifying the logging
destination for a VM, refer to the logger option description.The information logged includes runtime data from vdevs and other sources, and is useful for troubleshooting guest OS and driver behavior.
Alternatively, you can send the SIGUSR2 signal to a qvm process to dump the hosted guest's state— meaning its memory and CPU registers—and other troubleshooting-related information at any time. (The guest continues running after the dump.) For information on specifying the file that the dump is written to and on its contents, go to the dump option reference.
Reading VM runtime information from the env file
Each qvm process creates a file that provides details about the VM. This file is kept at /dev/qvm/name/env on the host, where name is the system name for the guest. This system name is set via the system option in the qvm configuration. For example, if your hypervisor system has a guest called linux1, the underlying qvm process produces a file called /dev/qvm/linux1/env.
This file is in JSON format, so it is machine- and human-readable, and it provides
information that can't be known before qvm starts, such as
vCPU thread IDs and architecture-specific errata data.
The exact errata reported are controlled by configuration variable settings;
for details, refer to the Configuration variables
section.