kvm_stat(1)
===========

NAME
----
kvm_stat - Report KVM kernel module event counters

SYNOPSIS
--------
[verse]
'kvm_stat' [OPTION]...

DESCRIPTION
-----------
kvm_stat prints counts of KVM kernel module trace events.  These events signify
state transitions such as guest mode entry and exit.

This tool is useful for observing guest behavior from the host perspective.
Often conclusions about performance or buggy behavior can be drawn from the
output.
While running in regular mode, use any of the keys listed in section
'Interactive Commands' below.
Use batch and logging modes for scripting purposes.

The set of KVM kernel module trace events may be specific to the kernel version
or architecture.  It is best to check the KVM kernel module source code for the
meaning of events.

INTERACTIVE COMMANDS
--------------------
[horizontal]
*b*::	toggle events by guests (debugfs only, honors filters)

*c*::	clear filter

*f*::	filter by regular expression

*g*::	filter by guest name

*h*::	display interactive commands reference

*o*::   toggle sorting order (Total vs CurAvg/s)

*p*::	filter by PID

*q*::	quit

*r*::	reset stats

*s*::   set update interval

*x*::	toggle reporting of stats for child trace events

Press any other key to refresh statistics immediately.

OPTIONS
-------
-1::
--once::
--batch::
	run in batch mode for one second

-l::
--log::
	run in logging mode (like vmstat)

-t::
--tracepoints::
	retrieve statistics from tracepoints

-d::
--debugfs::
	retrieve statistics from debugfs

-i::
--debugfs-include-past::
	include all available data on past events for debugfs

-p<pid>::
--pid=<pid>::
	limit statistics to one virtual machine (pid)

-g<guest>::
--guest=<guest_name>::
	limit statistics to one virtual machine (guest name)

-f<fields>::
--fields=<fields>::
	fields to display (regex)

-h::
--help::
	show help message

SEE ALSO
--------
'perf'(1), 'trace-cmd'(1)

AUTHOR
------
Stefan Hajnoczi <stefanha@redhat.com>
