xref: /openbmc/linux/tools/kvm/kvm_stat/kvm_stat.txt (revision 8be98d2f2a0a262f8bf8a0bc1fdf522b3c7aab17)
1fd41b5a9SPaolo Bonzinikvm_stat(1)
2fd41b5a9SPaolo Bonzini===========
3fd41b5a9SPaolo Bonzini
4fd41b5a9SPaolo BonziniNAME
5fd41b5a9SPaolo Bonzini----
6fd41b5a9SPaolo Bonzinikvm_stat - Report KVM kernel module event counters
7fd41b5a9SPaolo Bonzini
8fd41b5a9SPaolo BonziniSYNOPSIS
9fd41b5a9SPaolo Bonzini--------
10fd41b5a9SPaolo Bonzini[verse]
11fd41b5a9SPaolo Bonzini'kvm_stat' [OPTION]...
12fd41b5a9SPaolo Bonzini
13fd41b5a9SPaolo BonziniDESCRIPTION
14fd41b5a9SPaolo Bonzini-----------
15fd41b5a9SPaolo Bonzinikvm_stat prints counts of KVM kernel module trace events.  These events signify
16fd41b5a9SPaolo Bonzinistate transitions such as guest mode entry and exit.
17fd41b5a9SPaolo Bonzini
18fd41b5a9SPaolo BonziniThis tool is useful for observing guest behavior from the host perspective.
19fd41b5a9SPaolo BonziniOften conclusions about performance or buggy behavior can be drawn from the
20fd41b5a9SPaolo Bonzinioutput.
211eaa2f90SStefan RasplWhile running in regular mode, use any of the keys listed in section
221eaa2f90SStefan Raspl'Interactive Commands' below.
231eaa2f90SStefan RasplUse batch and logging modes for scripting purposes.
24fd41b5a9SPaolo Bonzini
25fd41b5a9SPaolo BonziniThe set of KVM kernel module trace events may be specific to the kernel version
26fd41b5a9SPaolo Bonzinior architecture.  It is best to check the KVM kernel module source code for the
27fd41b5a9SPaolo Bonzinimeaning of events.
28fd41b5a9SPaolo Bonzini
291eaa2f90SStefan RasplINTERACTIVE COMMANDS
301eaa2f90SStefan Raspl--------------------
311eaa2f90SStefan Raspl[horizontal]
325c1954d2SStefan Raspl*b*::	toggle events by guests (debugfs only, honors filters)
335c1954d2SStefan Raspl
344443084fSStefan Raspl*c*::	clear filter
354443084fSStefan Raspl
361eaa2f90SStefan Raspl*f*::	filter by regular expression
37883d25e7SStefan Raspl ::     *Note*: Child events pull in their parents, and parents' stats summarize
38883d25e7SStefan Raspl                all child events, not just the filtered ones
391eaa2f90SStefan Raspl
40516f1190SStefan Raspl*g*::	filter by guest name/PID
41f9ff1087SStefan Raspl
421fdea7b2SStefan Raspl*h*::	display interactive commands reference
431fdea7b2SStefan Raspl
446667ae8fSStefan Raspl*o*::   toggle sorting order (Total vs CurAvg/s)
456667ae8fSStefan Raspl
46516f1190SStefan Raspl*p*::	filter by guest name/PID
471eaa2f90SStefan Raspl
481eaa2f90SStefan Raspl*q*::	quit
491eaa2f90SStefan Raspl
509f114a03SStefan Raspl*r*::	reset stats
519f114a03SStefan Raspl
52eecda7a9SStefan Raspl*s*::   set delay between refreshs
5364eefad2SStefan Raspl
541eaa2f90SStefan Raspl*x*::	toggle reporting of stats for child trace events
55fff8c9ebSStefan Raspl ::     *Note*: The stats for the parents summarize the respective child trace
56fff8c9ebSStefan Raspl                events
571eaa2f90SStefan Raspl
581eaa2f90SStefan RasplPress any other key to refresh statistics immediately.
591eaa2f90SStefan Raspl
60fd41b5a9SPaolo BonziniOPTIONS
61fd41b5a9SPaolo Bonzini-------
62fd41b5a9SPaolo Bonzini-1::
63fd41b5a9SPaolo Bonzini--once::
64fd41b5a9SPaolo Bonzini--batch::
65fd41b5a9SPaolo Bonzini	run in batch mode for one second
66fd41b5a9SPaolo Bonzini
670c794dceSStefan Raspl-c::
683754afe7SStefan Raspl--csv::
693754afe7SStefan Raspl        log in csv format. Requires option -l/--log or -L/--log-to-file.
703754afe7SStefan Raspl        When used with option -L/--log-to-file, the header is only ever
713754afe7SStefan Raspl        written to start of file to preserve the format.
720c794dceSStefan Raspl
73fd41b5a9SPaolo Bonzini-d::
74fd41b5a9SPaolo Bonzini--debugfs::
75fd41b5a9SPaolo Bonzini	retrieve statistics from debugfs
76fd41b5a9SPaolo Bonzini
77fd41b5a9SPaolo Bonzini-f<fields>::
78fd41b5a9SPaolo Bonzini--fields=<fields>::
79f3d11b0eSStefan Raspl        fields to display (regex), "-f help" for a list of available events
80fd41b5a9SPaolo Bonzini
81eecda7a9SStefan Raspl-g<guest>::
82eecda7a9SStefan Raspl--guest=<guest_name>::
83eecda7a9SStefan Raspl        limit statistics to one virtual machine (guest name)
84eecda7a9SStefan Raspl
85fd41b5a9SPaolo Bonzini-h::
86fd41b5a9SPaolo Bonzini--help::
87fd41b5a9SPaolo Bonzini        show help message
88fd41b5a9SPaolo Bonzini
89eecda7a9SStefan Raspl-i::
90eecda7a9SStefan Raspl--debugfs-include-past::
91eecda7a9SStefan Raspl	include all available data on past events for debugfs
92eecda7a9SStefan Raspl
93eecda7a9SStefan Raspl-l::
94eecda7a9SStefan Raspl--log::
95eecda7a9SStefan Raspl        run in logging mode (like vmstat)
96eecda7a9SStefan Raspl
973754afe7SStefan Raspl
983754afe7SStefan Raspl-L<file>::
993754afe7SStefan Raspl--log-to-file=<file>::
1003754afe7SStefan Raspl        like -l/--log, but logging to a file. Appends to existing files.
1013754afe7SStefan Raspl
102eecda7a9SStefan Raspl-p<pid>::
103eecda7a9SStefan Raspl--pid=<pid>::
104eecda7a9SStefan Raspl	limit statistics to one virtual machine (pid)
105eecda7a9SStefan Raspl
1063cbb394dSStefan Raspl-s::
1073cbb394dSStefan Raspl--set-delay::
1083cbb394dSStefan Raspl        set delay between refreshs (value range: 0.1-25.5 secs)
1093cbb394dSStefan Raspl
110eecda7a9SStefan Raspl-t::
111eecda7a9SStefan Raspl--tracepoints::
112eecda7a9SStefan Raspl        retrieve statistics from tracepoints
113eecda7a9SStefan Raspl
114*b2699098SStefan Raspl-z::
115da1fda28SStefan Raspl--skip-zero-records::
116da1fda28SStefan Raspl        omit records with all zeros in logging mode
117da1fda28SStefan Raspl
118fd41b5a9SPaolo BonziniSEE ALSO
119fd41b5a9SPaolo Bonzini--------
120fd41b5a9SPaolo Bonzini'perf'(1), 'trace-cmd'(1)
121fd41b5a9SPaolo Bonzini
122fd41b5a9SPaolo BonziniAUTHOR
123fd41b5a9SPaolo Bonzini------
124fd41b5a9SPaolo BonziniStefan Hajnoczi <stefanha@redhat.com>
125