Monitoring and Troubleshooting

This chapter describes some tools and techniques you can use to monitor and troubleshoot your hypervisor system.

The QNX Hypervisor for Safety is a QNX OS for Safety 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.

For hosts, the troubleshooting ways include:

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.