Monitoring and Troubleshooting
This chapter describes some tools and techniques you can use to monitor and troubleshoot your hypervisor system.
The QNX Hypervisor is a QNX Neutrino microkernel plus a virtualization extension. This means that this hypervisor product has the same debugging, monitoring, and troubleshooting capabilities as this QNX OS variant. Thus, all tools—QNX Momentics IDE, command line, and third-party—and techniques available for working with the QNX OS are also available for working with the hypervisor host or QNX guests. For Linux guests, use your Linux tools (GDB TraceCompass, etc.).
Troubleshooting strategies
There are numerous ways to get information about the different parts of your
hypervisor system. For guests, use the same debugging tools you would use for the OS
and its applications in a non-virtualized system, by connecting to a TCP/IP
stack running within the guest.
For example, if you run a QNX guest and it starts such a stack along with the
qconn service, the QNX Momentics IDE can
connect to the guest through TCP/IP and do application-level debugging.
For information about debugging with the IDE, see the
Debugging Applications
chapter in the IDE
User's Guide.
-
Add the logger to the qvm configuration (see
logger in the
VM Configuration Reference
chapter) to log certain message types. - Use GDB (see
Using the GNU debugger (GDB)
) to understand a guest's activities in its qvm process instance. - Use tracelogging (see
Getting hypervisor trace information
) to examine trace events from a VM.
A typical approach to troubleshooting would be to use the qvm logger option to gather general information about what a qvm process is doing (and, by indirection, what a guest is doing), then to use GDB and tracelogging for more detailed analysis.
If you need to keep more than the default 4K of slog information kept by the
hypervisor, you can use the set option to set the
slog-buffer variable to the right buffer size
(see slog-buffer in the
VM Configuration Reference
chapter).
You can also send the output to your console.
