|  | ================================== | 
|  | QEMU virtual RAPL MSR helper | 
|  | ================================== | 
|  |  | 
|  | Synopsis | 
|  | -------- | 
|  |  | 
|  | **qemu-vmsr-helper** [*OPTION*] | 
|  |  | 
|  | Description | 
|  | ----------- | 
|  |  | 
|  | Implements the virtual RAPL MSR helper for QEMU. | 
|  |  | 
|  | Accessing the RAPL (Running Average Power Limit) MSR enables the RAPL powercap | 
|  | driver to advertise and monitor the power consumption or accumulated energy | 
|  | consumption of different power domains, such as CPU packages, DRAM, and other | 
|  | components when available. | 
|  |  | 
|  | However those registers are accessible under privileged access (CAP_SYS_RAWIO). | 
|  | QEMU can use an external helper to access those privileged registers. | 
|  |  | 
|  | :program:`qemu-vmsr-helper` is that external helper; it creates a listener | 
|  | socket which will accept incoming connections for communication with QEMU. | 
|  |  | 
|  | If you want to run VMs in a setup like this, this helper should be started as a | 
|  | system service, and you should read the QEMU manual section on "RAPL MSR | 
|  | support" to find out how to configure QEMU to connect to the socket created by | 
|  | :program:`qemu-vmsr-helper`. | 
|  |  | 
|  | After connecting to the socket, :program:`qemu-vmsr-helper` can | 
|  | optionally drop root privileges, except for those capabilities that | 
|  | are needed for its operation. | 
|  |  | 
|  | :program:`qemu-vmsr-helper` can also use the systemd socket activation | 
|  | protocol.  In this case, the systemd socket unit should specify a | 
|  | Unix stream socket, like this:: | 
|  |  | 
|  | [Socket] | 
|  | ListenStream=/var/run/qemu-vmsr-helper.sock | 
|  |  | 
|  | Options | 
|  | ------- | 
|  |  | 
|  | .. program:: qemu-vmsr-helper | 
|  |  | 
|  | .. option:: -d, --daemon | 
|  |  | 
|  | run in the background (and create a PID file) | 
|  |  | 
|  | .. option:: -q, --quiet | 
|  |  | 
|  | decrease verbosity | 
|  |  | 
|  | .. option:: -v, --verbose | 
|  |  | 
|  | increase verbosity | 
|  |  | 
|  | .. option:: -f, --pidfile=PATH | 
|  |  | 
|  | PID file when running as a daemon. By default the PID file | 
|  | is created in the system runtime state directory, for example | 
|  | :file:`/var/run/qemu-vmsr-helper.pid`. | 
|  |  | 
|  | .. option:: -k, --socket=PATH | 
|  |  | 
|  | path to the socket. By default the socket is created in | 
|  | the system runtime state directory, for example | 
|  | :file:`/var/run/qemu-vmsr-helper.sock`. | 
|  |  | 
|  | .. option:: -T, --trace [[enable=]PATTERN][,events=FILE][,file=FILE] | 
|  |  | 
|  | .. include:: ../qemu-option-trace.rst.inc | 
|  |  | 
|  | .. option:: -u, --user=USER | 
|  |  | 
|  | user to drop privileges to | 
|  |  | 
|  | .. option:: -g, --group=GROUP | 
|  |  | 
|  | group to drop privileges to | 
|  |  | 
|  | .. option:: -h, --help | 
|  |  | 
|  | Display a help message and exit. | 
|  |  | 
|  | .. option:: -V, --version | 
|  |  | 
|  | Display version information and exit. |