configure
command fails with the following error message:gtk2-devel
:configure
command and it should work now--enable-libpmem
option for configure
requires that libpmem
from the Persistent Memory Development Kit (PMDK) be installed as a prerequisite. See Installing PMDK for instructions.-object
describes the location, size, and id of the memory-backend and -device
maps the -object
to the guest. A simple way to create a single vNVDIMM device at startup time is done via the following command line options:nvdimm
machine option enables vNVDIMM feature.slots=$N
should be equal to or larger than the total amount of normal RAM devices and vNVDIMM devices, e.g. $N should be >= 2 here.maxmem=$MAX_SIZE
should be equal to or larger than the total sizeobject memory-backend-file,id=mem1,share=on,mem-path=$PATH,size=$NVDIMM_SIZE
creates a backend storage of size $NVDIMM_SIZE
on a file $PATH
. All$PATH
.share=on/off
controls the visibility of guest writes. Ifshare=on
, then guest writes will be applied to the backendshare=on
, then above writes will be visible to it as well. Ifshare=off
, then guest writes won't be applied to the backenddevice nvdimm,id=nvdimm1,memdev=mem1
creates a virtual NVDIMM-object
and -device
are provided. See Example 1 below.-vnc :0
which equates to port 5900.ndctl
command utility which needs to be installed within the guest. See the NDCTL Users Guide for more details.-vnc :0
, connect to the guest using a VNC Viewer and access the monitor using Ctrl-Alt-2
(and Ctrl-Alt-1
to get back to the VM display). Alternatives include:-qmp tcp:localhost:4444,server --monitor stdio
. To connect, use telnet localhost 4444
.-qmp unix:./qmp-sock,server --monitor stdio
and connect using nc -U ./qmp-sock
.(qemu)
monitor prompt is accessed via a vnc connection to the host using the guest vnc port, then pressing Ctrl-Alt-2, as described above./dev/dax0.0
as the backend of vNVDIMM:-o dax
option)mmap
system call (available since Linux 4.15 and on certain distro kernels) and additionally both 'pmem' and 'share' flags are set to 'on' on the backend.mmap(2)
man page: http://man7.org/linux/man-pages/man2/mmap.2.html.clflush
. As any modern machine (starting with Skylake and Pinnacle Ridge) has clflushopt
or clwb
(Cannon Lake), you can significantly improve performance by passing a -cpu
flag to qemu. Unless you require live migrating, -cpu host
is a good choice.