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