mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-01-27 23:15:18 +00:00
Apply CPU pinning at startup for QEMU guests
This commit is contained in:
parent
6d372bd468
commit
e193b5ddea
10
ChangeLog
10
ChangeLog
@ -1,3 +1,13 @@
|
|||||||
|
Thu May 22 12:22:29 EST 2008 Daniel P. Berrange <berrange@redhat.com>
|
||||||
|
|
||||||
|
Apply CPU pinning at startup if requested for QEMU
|
||||||
|
* src/qemu_conf.h: Store global CPU pinning data
|
||||||
|
* src/qemu_conf.c: Parse and format CPU set mask for vCPUs
|
||||||
|
* src/qemu_driver.c: Apply CPU pinning at startup
|
||||||
|
* tests/qemuxml2argvdata/*.args: Add in -S arg which is now
|
||||||
|
always used
|
||||||
|
* src/xml.c, xml.h: Allow use of CPU set functions from QEMU
|
||||||
|
|
||||||
Thu May 22 12:20:29 EST 2008 Daniel P. Berrange <berrange@redhat.com>
|
Thu May 22 12:20:29 EST 2008 Daniel P. Berrange <berrange@redhat.com>
|
||||||
|
|
||||||
Add support for VCPU pinning in QEMU driver
|
Add support for VCPU pinning in QEMU driver
|
||||||
|
@ -56,6 +56,7 @@
|
|||||||
#include "memory.h"
|
#include "memory.h"
|
||||||
#include "verify.h"
|
#include "verify.h"
|
||||||
#include "c-ctype.h"
|
#include "c-ctype.h"
|
||||||
|
#include "xml.h"
|
||||||
|
|
||||||
#define qemudLog(level, msg...) fprintf(stderr, msg)
|
#define qemudLog(level, msg...) fprintf(stderr, msg)
|
||||||
|
|
||||||
@ -1744,6 +1745,25 @@ static struct qemud_vm_def *qemudParseXML(virConnectPtr conn,
|
|||||||
}
|
}
|
||||||
xmlXPathFreeObject(obj);
|
xmlXPathFreeObject(obj);
|
||||||
|
|
||||||
|
/* Extract domain vcpu info */
|
||||||
|
obj = xmlXPathEval(BAD_CAST "string(/domain/vcpu[1]/@cpuset)", ctxt);
|
||||||
|
if ((obj == NULL) || (obj->type != XPATH_STRING) ||
|
||||||
|
(obj->stringval == NULL) || (obj->stringval[0] == 0)) {
|
||||||
|
/* Allow use on all CPUS */
|
||||||
|
memset(def->cpumask, 1, QEMUD_CPUMASK_LEN);
|
||||||
|
} else {
|
||||||
|
char *set = (char *)obj->stringval;
|
||||||
|
memset(def->cpumask, 0, QEMUD_CPUMASK_LEN);
|
||||||
|
if (virParseCpuSet(conn, (const char **)&set,
|
||||||
|
0, def->cpumask,
|
||||||
|
QEMUD_CPUMASK_LEN) < 0) {
|
||||||
|
qemudReportError(conn, NULL, NULL, VIR_ERR_INTERNAL_ERROR,
|
||||||
|
"%s", _("malformed vcpu mask information"));
|
||||||
|
goto error;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
xmlXPathFreeObject(obj);
|
||||||
|
|
||||||
/* See if ACPI feature is requested */
|
/* See if ACPI feature is requested */
|
||||||
obj = xmlXPathEval(BAD_CAST "/domain/features/acpi", ctxt);
|
obj = xmlXPathEval(BAD_CAST "/domain/features/acpi", ctxt);
|
||||||
if ((obj != NULL) && (obj->type == XPATH_NODESET) &&
|
if ((obj != NULL) && (obj->type == XPATH_NODESET) &&
|
||||||
@ -2432,6 +2452,7 @@ int qemudBuildCommandLine(virConnectPtr conn,
|
|||||||
disableKQEMU = 1;
|
disableKQEMU = 1;
|
||||||
|
|
||||||
len = 1 + /* qemu */
|
len = 1 + /* qemu */
|
||||||
|
1 + /* Stopped */
|
||||||
2 + /* machine type */
|
2 + /* machine type */
|
||||||
disableKQEMU + /* Disable kqemu */
|
disableKQEMU + /* Disable kqemu */
|
||||||
(vm->qemuCmdFlags & QEMUD_CMD_FLAG_NAME ? 2 : 0) + /* -name XXX */
|
(vm->qemuCmdFlags & QEMUD_CMD_FLAG_NAME ? 2 : 0) + /* -name XXX */
|
||||||
@ -2456,7 +2477,7 @@ int qemudBuildCommandLine(virConnectPtr conn,
|
|||||||
(vm->def->os.bootloader[0] ? 2 : 0) + /* bootloader */
|
(vm->def->os.bootloader[0] ? 2 : 0) + /* bootloader */
|
||||||
(vm->def->graphicsType == QEMUD_GRAPHICS_VNC ? 2 :
|
(vm->def->graphicsType == QEMUD_GRAPHICS_VNC ? 2 :
|
||||||
(vm->def->graphicsType == QEMUD_GRAPHICS_SDL ? 0 : 1)) + /* graphics */
|
(vm->def->graphicsType == QEMUD_GRAPHICS_SDL ? 0 : 1)) + /* graphics */
|
||||||
(vm->migrateFrom[0] ? 3 : 0); /* migrateFrom */
|
(vm->migrateFrom[0] ? 2 : 0); /* migrateFrom */
|
||||||
|
|
||||||
snprintf(memory, sizeof(memory), "%lu", vm->def->memory/1024);
|
snprintf(memory, sizeof(memory), "%lu", vm->def->memory/1024);
|
||||||
snprintf(vcpus, sizeof(vcpus), "%d", vm->def->vcpus);
|
snprintf(vcpus, sizeof(vcpus), "%d", vm->def->vcpus);
|
||||||
@ -2465,6 +2486,8 @@ int qemudBuildCommandLine(virConnectPtr conn,
|
|||||||
goto no_memory;
|
goto no_memory;
|
||||||
if (!((*argv)[++n] = strdup(vm->def->os.binary)))
|
if (!((*argv)[++n] = strdup(vm->def->os.binary)))
|
||||||
goto no_memory;
|
goto no_memory;
|
||||||
|
if (!((*argv)[++n] = strdup("-S")))
|
||||||
|
goto no_memory;
|
||||||
if (!((*argv)[++n] = strdup("-M")))
|
if (!((*argv)[++n] = strdup("-M")))
|
||||||
goto no_memory;
|
goto no_memory;
|
||||||
if (!((*argv)[++n] = strdup(vm->def->os.machine)))
|
if (!((*argv)[++n] = strdup(vm->def->os.machine)))
|
||||||
@ -2890,8 +2913,6 @@ int qemudBuildCommandLine(virConnectPtr conn,
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (vm->migrateFrom[0]) {
|
if (vm->migrateFrom[0]) {
|
||||||
if (!((*argv)[++n] = strdup("-S")))
|
|
||||||
goto no_memory;
|
|
||||||
if (!((*argv)[++n] = strdup("-incoming")))
|
if (!((*argv)[++n] = strdup("-incoming")))
|
||||||
goto no_memory;
|
goto no_memory;
|
||||||
if (!((*argv)[++n] = strdup(vm->migrateFrom)))
|
if (!((*argv)[++n] = strdup(vm->migrateFrom)))
|
||||||
@ -3877,7 +3898,7 @@ char *qemudGenerateXML(virConnectPtr conn,
|
|||||||
const struct qemud_vm_sound_def *sound;
|
const struct qemud_vm_sound_def *sound;
|
||||||
const struct qemud_vm_chr_def *chr;
|
const struct qemud_vm_chr_def *chr;
|
||||||
const char *type = NULL;
|
const char *type = NULL;
|
||||||
int n;
|
int n, allones = 1;
|
||||||
|
|
||||||
if (!(type = qemudVirtTypeToString(def->virtType))) {
|
if (!(type = qemudVirtTypeToString(def->virtType))) {
|
||||||
qemudReportError(conn, NULL, NULL, VIR_ERR_INTERNAL_ERROR,
|
qemudReportError(conn, NULL, NULL, VIR_ERR_INTERNAL_ERROR,
|
||||||
@ -3898,7 +3919,24 @@ char *qemudGenerateXML(virConnectPtr conn,
|
|||||||
|
|
||||||
virBufferVSprintf(&buf, " <memory>%lu</memory>\n", def->maxmem);
|
virBufferVSprintf(&buf, " <memory>%lu</memory>\n", def->maxmem);
|
||||||
virBufferVSprintf(&buf, " <currentMemory>%lu</currentMemory>\n", def->memory);
|
virBufferVSprintf(&buf, " <currentMemory>%lu</currentMemory>\n", def->memory);
|
||||||
virBufferVSprintf(&buf, " <vcpu>%d</vcpu>\n", def->vcpus);
|
|
||||||
|
for (n = 0 ; n < QEMUD_CPUMASK_LEN ; n++)
|
||||||
|
if (def->cpumask[n] != 1)
|
||||||
|
allones = 0;
|
||||||
|
|
||||||
|
if (allones) {
|
||||||
|
virBufferVSprintf(&buf, " <vcpu>%d</vcpu>\n", def->vcpus);
|
||||||
|
} else {
|
||||||
|
char *cpumask = NULL;
|
||||||
|
if ((cpumask = virSaveCpuSet(conn, def->cpumask, QEMUD_CPUMASK_LEN)) == NULL) {
|
||||||
|
qemudReportError(conn, NULL, NULL, VIR_ERR_NO_MEMORY,
|
||||||
|
"%s", _("allocating cpu mask"));
|
||||||
|
goto cleanup;
|
||||||
|
}
|
||||||
|
virBufferVSprintf(&buf, " <vcpu cpuset='%s'>%d</vcpu>\n", cpumask, def->vcpus);
|
||||||
|
free(cpumask);
|
||||||
|
}
|
||||||
|
|
||||||
if (def->os.bootloader[0])
|
if (def->os.bootloader[0])
|
||||||
virBufferVSprintf(&buf, " <bootloader>%s</bootloader>\n", def->os.bootloader);
|
virBufferVSprintf(&buf, " <bootloader>%s</bootloader>\n", def->os.bootloader);
|
||||||
virBufferAddLit(&buf, " <os>\n");
|
virBufferAddLit(&buf, " <os>\n");
|
||||||
|
@ -33,6 +33,7 @@
|
|||||||
#include "iptables.h"
|
#include "iptables.h"
|
||||||
#include "capabilities.h"
|
#include "capabilities.h"
|
||||||
#include <netinet/in.h>
|
#include <netinet/in.h>
|
||||||
|
#include <sched.h>
|
||||||
|
|
||||||
#define qemudDebug(fmt, ...) do {} while(0)
|
#define qemudDebug(fmt, ...) do {} while(0)
|
||||||
|
|
||||||
@ -104,6 +105,7 @@ enum qemud_vm_net_forward_type {
|
|||||||
#define QEMUD_MAX_NAME_LEN 50
|
#define QEMUD_MAX_NAME_LEN 50
|
||||||
#define QEMUD_MAX_XML_LEN 4096
|
#define QEMUD_MAX_XML_LEN 4096
|
||||||
#define QEMUD_MAX_ERROR_LEN 1024
|
#define QEMUD_MAX_ERROR_LEN 1024
|
||||||
|
#define QEMUD_CPUMASK_LEN CPU_SETSIZE
|
||||||
|
|
||||||
/* Stores the virtual network interface configuration */
|
/* Stores the virtual network interface configuration */
|
||||||
struct qemud_vm_net_def {
|
struct qemud_vm_net_def {
|
||||||
@ -282,6 +284,7 @@ struct qemud_vm_def {
|
|||||||
unsigned long memory;
|
unsigned long memory;
|
||||||
unsigned long maxmem;
|
unsigned long maxmem;
|
||||||
int vcpus;
|
int vcpus;
|
||||||
|
char cpumask[QEMUD_CPUMASK_LEN];
|
||||||
|
|
||||||
int noReboot;
|
int noReboot;
|
||||||
|
|
||||||
|
@ -717,6 +717,52 @@ error:
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int
|
||||||
|
qemudInitCpus(virConnectPtr conn,
|
||||||
|
struct qemud_driver *driver,
|
||||||
|
struct qemud_vm *vm) {
|
||||||
|
char *info = NULL;
|
||||||
|
#if HAVE_SCHED_GETAFFINITY
|
||||||
|
cpu_set_t mask;
|
||||||
|
int i, maxcpu = QEMUD_CPUMASK_LEN;
|
||||||
|
virNodeInfo nodeinfo;
|
||||||
|
|
||||||
|
if (virNodeInfoPopulate(conn, &nodeinfo) < 0)
|
||||||
|
return -1;
|
||||||
|
|
||||||
|
/* setaffinity fails if you set bits for CPUs which
|
||||||
|
* aren't present, so we have to limit ourselves */
|
||||||
|
if (maxcpu > nodeinfo.cpus)
|
||||||
|
maxcpu = nodeinfo.cpus;
|
||||||
|
|
||||||
|
CPU_ZERO(&mask);
|
||||||
|
for (i = 0 ; i < maxcpu ; i++)
|
||||||
|
if (vm->def->cpumask[i])
|
||||||
|
CPU_SET(i, &mask);
|
||||||
|
|
||||||
|
for (i = 0 ; i < vm->nvcpupids ; i++) {
|
||||||
|
if (sched_setaffinity(vm->vcpupids[i],
|
||||||
|
sizeof(mask), &mask) < 0) {
|
||||||
|
qemudReportError(conn, NULL, NULL, VIR_ERR_INTERNAL_ERROR,
|
||||||
|
_("failed to set CPU affinity %s"),
|
||||||
|
strerror(errno));
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif /* HAVE_SCHED_GETAFFINITY */
|
||||||
|
|
||||||
|
/* Allow the CPUS to start executing */
|
||||||
|
if (qemudMonitorCommand(driver, vm, "cont", &info) < 0) {
|
||||||
|
qemudReportError(conn, NULL, NULL, VIR_ERR_INTERNAL_ERROR,
|
||||||
|
"%s", _("resume operation failed"));
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
free(info);
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
static int qemudNextFreeVNCPort(struct qemud_driver *driver ATTRIBUTE_UNUSED) {
|
static int qemudNextFreeVNCPort(struct qemud_driver *driver ATTRIBUTE_UNUSED) {
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
@ -874,28 +920,17 @@ static int qemudStartVMDaemon(virConnectPtr conn,
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (ret == 0) {
|
if (ret == 0) {
|
||||||
if (virEventAddHandle(vm->stdout,
|
if ((virEventAddHandle(vm->stdout,
|
||||||
POLLIN | POLLERR | POLLHUP,
|
POLLIN | POLLERR | POLLHUP,
|
||||||
qemudDispatchVMEvent,
|
qemudDispatchVMEvent,
|
||||||
driver) < 0) {
|
driver) < 0) ||
|
||||||
qemudShutdownVMDaemon(conn, driver, vm);
|
(virEventAddHandle(vm->stderr,
|
||||||
return -1;
|
POLLIN | POLLERR | POLLHUP,
|
||||||
}
|
qemudDispatchVMEvent,
|
||||||
|
driver) < 0) ||
|
||||||
if (virEventAddHandle(vm->stderr,
|
(qemudWaitForMonitor(conn, driver, vm) < 0) ||
|
||||||
POLLIN | POLLERR | POLLHUP,
|
(qemudDetectVcpuPIDs(conn, driver, vm) < 0) ||
|
||||||
qemudDispatchVMEvent,
|
(qemudInitCpus(conn, driver, vm) < 0)) {
|
||||||
driver) < 0) {
|
|
||||||
qemudShutdownVMDaemon(conn, driver, vm);
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (qemudWaitForMonitor(conn, driver, vm) < 0) {
|
|
||||||
qemudShutdownVMDaemon(conn, driver, vm);
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (qemudDetectVcpuPIDs(conn, driver, vm) < 0) {
|
|
||||||
qemudShutdownVMDaemon(conn, driver, vm);
|
qemudShutdownVMDaemon(conn, driver, vm);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
@ -60,7 +60,7 @@ virXMLError(virConnectPtr conn, virErrorNumber error, const char *info,
|
|||||||
* Parser and converter for the CPUset strings used in libvirt *
|
* Parser and converter for the CPUset strings used in libvirt *
|
||||||
* *
|
* *
|
||||||
************************************************************************/
|
************************************************************************/
|
||||||
#if WITH_XEN
|
#if WITH_XEN || WITH_QEMU
|
||||||
/**
|
/**
|
||||||
* parseCpuNumber:
|
* parseCpuNumber:
|
||||||
* @str: pointer to the char pointer used
|
* @str: pointer to the char pointer used
|
||||||
@ -249,8 +249,9 @@ virParseCpuSet(virConnectPtr conn, const char **str, char sep,
|
|||||||
_("topology cpuset syntax error"), 0);
|
_("topology cpuset syntax error"), 0);
|
||||||
return (-1);
|
return (-1);
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if WITH_XEN
|
||||||
/**
|
/**
|
||||||
* virConvertCpuSet:
|
* virConvertCpuSet:
|
||||||
* @conn: connection
|
* @conn: connection
|
||||||
|
@ -32,7 +32,7 @@ int virXPathNodeSet (const char *xpath,
|
|||||||
xmlXPathContextPtr ctxt,
|
xmlXPathContextPtr ctxt,
|
||||||
xmlNodePtr **list);
|
xmlNodePtr **list);
|
||||||
|
|
||||||
#if WITH_XEN
|
#if WITH_XEN || WITH_QEMU
|
||||||
int virParseCpuSet (virConnectPtr conn,
|
int virParseCpuSet (virConnectPtr conn,
|
||||||
const char **str,
|
const char **str,
|
||||||
char sep,
|
char sep,
|
||||||
@ -41,6 +41,8 @@ int virParseCpuSet (virConnectPtr conn,
|
|||||||
char * virSaveCpuSet (virConnectPtr conn,
|
char * virSaveCpuSet (virConnectPtr conn,
|
||||||
char *cpuset,
|
char *cpuset,
|
||||||
int maxcpu);
|
int maxcpu);
|
||||||
|
#endif
|
||||||
|
#if WITH_XEN
|
||||||
char * virConvertCpuSet(virConnectPtr conn,
|
char * virConvertCpuSet(virConnectPtr conn,
|
||||||
const char *str,
|
const char *str,
|
||||||
int maxcpu);
|
int maxcpu);
|
||||||
|
@ -1 +1 @@
|
|||||||
/usr/bin/qemu -M pc -m 214 -smp 1 -nographic -monitor pty -no-acpi -boot d -cdrom /dev/cdrom -net none -serial none -parallel none -usb
|
/usr/bin/qemu -S -M pc -m 214 -smp 1 -nographic -monitor pty -no-acpi -boot d -cdrom /dev/cdrom -net none -serial none -parallel none -usb
|
@ -1 +1 @@
|
|||||||
/usr/bin/qemu -M pc -m 214 -smp 1 -nographic -monitor pty -no-acpi -boot a -hda /dev/HostVG/QEMUGuest1 -fda /tmp/firmware.img -net none -serial none -parallel none -usb
|
/usr/bin/qemu -S -M pc -m 214 -smp 1 -nographic -monitor pty -no-acpi -boot a -hda /dev/HostVG/QEMUGuest1 -fda /tmp/firmware.img -net none -serial none -parallel none -usb
|
@ -1 +1 @@
|
|||||||
/usr/bin/qemu -M pc -m 214 -smp 1 -nographic -monitor pty -no-acpi -boot n -hda /dev/HostVG/QEMUGuest1 -net none -serial none -parallel none -usb
|
/usr/bin/qemu -S -M pc -m 214 -smp 1 -nographic -monitor pty -no-acpi -boot n -hda /dev/HostVG/QEMUGuest1 -net none -serial none -parallel none -usb
|
@ -1 +1 @@
|
|||||||
/usr/bin/qemu-kvm -M xenner -m 214 -smp 1 -nographic -monitor pty -no-acpi -bootloader /usr/bin/pygrub -cdrom /dev/cdrom -net none -serial none -parallel none -usb
|
/usr/bin/qemu-kvm -S -M xenner -m 214 -smp 1 -nographic -monitor pty -no-acpi -bootloader /usr/bin/pygrub -cdrom /dev/cdrom -net none -serial none -parallel none -usb
|
@ -1 +1 @@
|
|||||||
/usr/bin/qemu -M pc -m 214 -smp 1 -nographic -monitor pty -localtime -no-acpi -boot c -hda /dev/HostVG/QEMUGuest1 -net none -serial none -parallel none -usb
|
/usr/bin/qemu -S -M pc -m 214 -smp 1 -nographic -monitor pty -localtime -no-acpi -boot c -hda /dev/HostVG/QEMUGuest1 -net none -serial none -parallel none -usb
|
@ -1 +1 @@
|
|||||||
/usr/bin/qemu -M pc -m 214 -smp 1 -nographic -monitor pty -no-acpi -boot c -hda /dev/HostVG/QEMUGuest1 -net none -serial none -parallel none -usb
|
/usr/bin/qemu -S -M pc -m 214 -smp 1 -nographic -monitor pty -no-acpi -boot c -hda /dev/HostVG/QEMUGuest1 -net none -serial none -parallel none -usb
|
@ -1 +1 @@
|
|||||||
/usr/bin/qemu -M pc -m 214 -smp 1 -nographic -monitor pty -no-acpi -boot c -hda /dev/HostVG/QEMUGuest1 -net none -serial pty -parallel none -usb
|
/usr/bin/qemu -S -M pc -m 214 -smp 1 -nographic -monitor pty -no-acpi -boot c -hda /dev/HostVG/QEMUGuest1 -net none -serial pty -parallel none -usb
|
@ -1 +1 @@
|
|||||||
/usr/bin/qemu -M pc -m 214 -smp 1 -nographic -monitor pty -no-acpi -boot c -hda /dev/HostVG/QEMUGuest1 -cdrom /root/boot.iso -net none -serial none -parallel none -usb
|
/usr/bin/qemu -S -M pc -m 214 -smp 1 -nographic -monitor pty -no-acpi -boot c -hda /dev/HostVG/QEMUGuest1 -cdrom /root/boot.iso -net none -serial none -parallel none -usb
|
@ -1 +1 @@
|
|||||||
/usr/bin/qemu -M pc -m 214 -smp 1 -nographic -monitor pty -no-acpi -boot c -hda /dev/HostVG/QEMUGuest1 -fda /dev/fd0 -fdb /tmp/firmware.img -net none -serial none -parallel none -usb
|
/usr/bin/qemu -S -M pc -m 214 -smp 1 -nographic -monitor pty -no-acpi -boot c -hda /dev/HostVG/QEMUGuest1 -fda /dev/fd0 -fdb /tmp/firmware.img -net none -serial none -parallel none -usb
|
@ -1 +1 @@
|
|||||||
/usr/bin/qemu -M pc -m 214 -smp 1 -nographic -monitor pty -no-acpi -boot c -hda /dev/HostVG/QEMUGuest1 -hdb /dev/HostVG/QEMUGuest2 -hdc /tmp/data.img -hdd /tmp/logs.img -net none -serial none -parallel none -usb
|
/usr/bin/qemu -S -M pc -m 214 -smp 1 -nographic -monitor pty -no-acpi -boot c -hda /dev/HostVG/QEMUGuest1 -hdb /dev/HostVG/QEMUGuest2 -hdc /tmp/data.img -hdd /tmp/logs.img -net none -serial none -parallel none -usb
|
@ -1 +1 @@
|
|||||||
/usr/bin/qemu -M pc -m 214 -smp 1 -nographic -monitor pty -no-acpi -boot c -drive file=/dev/HostVG/QEMUGuest1,if=ide,index=0,boot=on -drive file=/dev/HostVG/QEMUGuest2,if=ide,media=cdrom,index=2 -drive file=/tmp/data.img,if=virtio,index=0 -drive file=/tmp/logs.img,if=virtio,index=6 -net none -serial none -parallel none -usb
|
/usr/bin/qemu -S -M pc -m 214 -smp 1 -nographic -monitor pty -no-acpi -boot c -drive file=/dev/HostVG/QEMUGuest1,if=ide,index=0,boot=on -drive file=/dev/HostVG/QEMUGuest2,if=ide,media=cdrom,index=2 -drive file=/tmp/data.img,if=virtio,index=0 -drive file=/tmp/logs.img,if=virtio,index=6 -net none -serial none -parallel none -usb
|
@ -1 +1 @@
|
|||||||
/usr/bin/qemu -M pc -m 214 -smp 1 -nographic -monitor pty -no-acpi -boot c -drive file=/dev/HostVG/QEMUGuest1,if=ide,index=0,boot=on -drive file=/dev/HostVG/QEMUGuest2,if=ide,media=cdrom,index=2 -drive file=/tmp/data.img,if=xen,index=0 -drive file=/tmp/logs.img,if=xen,index=6 -net none -serial none -parallel none -usb
|
/usr/bin/qemu -S -M pc -m 214 -smp 1 -nographic -monitor pty -no-acpi -boot c -drive file=/dev/HostVG/QEMUGuest1,if=ide,index=0,boot=on -drive file=/dev/HostVG/QEMUGuest2,if=ide,media=cdrom,index=2 -drive file=/tmp/data.img,if=xen,index=0 -drive file=/tmp/logs.img,if=xen,index=6 -net none -serial none -parallel none -usb
|
@ -1 +1 @@
|
|||||||
/usr/bin/qemu -M pc -m 214 -smp 1 -monitor pty -no-acpi -boot c -hda /dev/HostVG/QEMUGuest1 -net none -serial none -parallel none -usb
|
/usr/bin/qemu -S -M pc -m 214 -smp 1 -monitor pty -no-acpi -boot c -hda /dev/HostVG/QEMUGuest1 -net none -serial none -parallel none -usb
|
@ -1 +1 @@
|
|||||||
/usr/bin/qemu -M pc -m 214 -smp 1 -monitor pty -no-acpi -boot c -hda /dev/HostVG/QEMUGuest1 -net none -serial none -parallel none -usb -vnc 127.0.0.1:3
|
/usr/bin/qemu -S -M pc -m 214 -smp 1 -monitor pty -no-acpi -boot c -hda /dev/HostVG/QEMUGuest1 -net none -serial none -parallel none -usb -vnc 127.0.0.1:3
|
@ -1 +1 @@
|
|||||||
/usr/bin/qemu -M pc -m 214 -smp 1 -nographic -monitor pty -no-acpi -boot c -hda /dev/HostVG/QEMUGuest1 -net none -serial none -parallel none -usb -usbdevice mouse
|
/usr/bin/qemu -S -M pc -m 214 -smp 1 -nographic -monitor pty -no-acpi -boot c -hda /dev/HostVG/QEMUGuest1 -net none -serial none -parallel none -usb -usbdevice mouse
|
@ -1 +1 @@
|
|||||||
/usr/bin/qemu -M pc -m 214 -smp 1 -nographic -monitor pty -no-acpi -boot c -hda /dev/HostVG/QEMUGuest1 -net none -serial none -parallel none -usb -usbdevice tablet
|
/usr/bin/qemu -S -M pc -m 214 -smp 1 -nographic -monitor pty -no-acpi -boot c -hda /dev/HostVG/QEMUGuest1 -net none -serial none -parallel none -usb -usbdevice tablet
|
@ -1 +1 @@
|
|||||||
/usr/bin/xenner -M xenner -m 214 -smp 1 -monitor pty -no-acpi -boot c -hda /dev/HostVG/QEMUGuest1 -net none -serial none -parallel none -usb -vnc :-5901
|
/usr/bin/xenner -S -M xenner -m 214 -smp 1 -monitor pty -no-acpi -boot c -hda /dev/HostVG/QEMUGuest1 -net none -serial none -parallel none -usb -vnc :-5901
|
@ -1 +1 @@
|
|||||||
/usr/bin/qemu -M pc -m 214 -smp 1 -name QEMUGuest1 -nographic -monitor pty -no-acpi -boot c -hda /dev/HostVG/QEMUGuest1 -net none -serial none -parallel none -usb
|
/usr/bin/qemu -S -M pc -m 214 -smp 1 -name QEMUGuest1 -nographic -monitor pty -no-acpi -boot c -hda /dev/HostVG/QEMUGuest1 -net none -serial none -parallel none -usb
|
@ -3,7 +3,7 @@
|
|||||||
<uuid>c7a5fdbd-edaf-9455-926a-d65c16db1809</uuid>
|
<uuid>c7a5fdbd-edaf-9455-926a-d65c16db1809</uuid>
|
||||||
<memory>219200</memory>
|
<memory>219200</memory>
|
||||||
<currentMemory>219200</currentMemory>
|
<currentMemory>219200</currentMemory>
|
||||||
<vcpu>1</vcpu>
|
<vcpu cpuset='1-4,8-20,525'>1</vcpu>
|
||||||
<os>
|
<os>
|
||||||
<type arch='i686' machine='pc'>hvm</type>
|
<type arch='i686' machine='pc'>hvm</type>
|
||||||
<boot dev='hd'/>
|
<boot dev='hd'/>
|
||||||
|
@ -1 +1 @@
|
|||||||
/usr/bin/qemu -M pc -m 214 -smp 1 -nographic -monitor pty -boot c -hda /dev/HostVG/QEMUGuest1 -net none -serial none -parallel none -usb
|
/usr/bin/qemu -S -M pc -m 214 -smp 1 -nographic -monitor pty -boot c -hda /dev/HostVG/QEMUGuest1 -net none -serial none -parallel none -usb
|
@ -1 +1 @@
|
|||||||
/usr/bin/qemu -M pc -m 214 -smp 1 -nographic -monitor pty -no-reboot -no-acpi -boot c -hda /dev/HostVG/QEMUGuest1 -net none -serial none -parallel none -usb
|
/usr/bin/qemu -S -M pc -m 214 -smp 1 -nographic -monitor pty -no-reboot -no-acpi -boot c -hda /dev/HostVG/QEMUGuest1 -net none -serial none -parallel none -usb
|
@ -1 +1 @@
|
|||||||
/usr/bin/qemu -M pc -m 214 -smp 1 -nographic -monitor pty -no-acpi -boot c -hda /dev/HostVG/QEMUGuest1 -net nic,macaddr=00:11:22:33:44:55,vlan=0 -net user,vlan=0 -serial none -parallel none -usb
|
/usr/bin/qemu -S -M pc -m 214 -smp 1 -nographic -monitor pty -no-acpi -boot c -hda /dev/HostVG/QEMUGuest1 -net nic,macaddr=00:11:22:33:44:55,vlan=0 -net user,vlan=0 -serial none -parallel none -usb
|
@ -1 +1 @@
|
|||||||
/usr/bin/qemu -M pc -m 214 -smp 1 -nographic -monitor pty -no-acpi -boot c -hda /dev/HostVG/QEMUGuest1 -net nic,macaddr=00:11:22:33:44:55,vlan=0,model=virtio -net user,vlan=0 -serial none -parallel none -usb
|
/usr/bin/qemu -S -M pc -m 214 -smp 1 -nographic -monitor pty -no-acpi -boot c -hda /dev/HostVG/QEMUGuest1 -net nic,macaddr=00:11:22:33:44:55,vlan=0,model=virtio -net user,vlan=0 -serial none -parallel none -usb
|
@ -1 +1 @@
|
|||||||
/usr/bin/qemu -M pc -m 214 -smp 1 -nographic -monitor pty -no-acpi -boot c -hda /dev/HostVG/QEMUGuest1 -net none -serial none -parallel tcp:127.0.0.1:9999,listen -usb
|
/usr/bin/qemu -S -M pc -m 214 -smp 1 -nographic -monitor pty -no-acpi -boot c -hda /dev/HostVG/QEMUGuest1 -net none -serial none -parallel tcp:127.0.0.1:9999,listen -usb
|
@ -1 +1 @@
|
|||||||
/usr/bin/qemu -M pc -m 214 -smp 1 -nographic -monitor pty -no-acpi -boot c -hda /dev/HostVG/QEMUGuest1 -net none -serial /dev/ttyS2 -parallel none -usb
|
/usr/bin/qemu -S -M pc -m 214 -smp 1 -nographic -monitor pty -no-acpi -boot c -hda /dev/HostVG/QEMUGuest1 -net none -serial /dev/ttyS2 -parallel none -usb
|
@ -1 +1 @@
|
|||||||
/usr/bin/qemu -M pc -m 214 -smp 1 -nographic -monitor pty -no-acpi -boot c -hda /dev/HostVG/QEMUGuest1 -net none -serial file:/tmp/serial.log -parallel none -usb
|
/usr/bin/qemu -S -M pc -m 214 -smp 1 -nographic -monitor pty -no-acpi -boot c -hda /dev/HostVG/QEMUGuest1 -net none -serial file:/tmp/serial.log -parallel none -usb
|
@ -1 +1 @@
|
|||||||
/usr/bin/qemu -M pc -m 214 -smp 1 -nographic -monitor pty -no-acpi -boot c -hda /dev/HostVG/QEMUGuest1 -net none -serial pty -serial file:/tmp/serial.log -parallel none -usb
|
/usr/bin/qemu -S -M pc -m 214 -smp 1 -nographic -monitor pty -no-acpi -boot c -hda /dev/HostVG/QEMUGuest1 -net none -serial pty -serial file:/tmp/serial.log -parallel none -usb
|
@ -1 +1 @@
|
|||||||
/usr/bin/qemu -M pc -m 214 -smp 1 -nographic -monitor pty -no-acpi -boot c -hda /dev/HostVG/QEMUGuest1 -net none -serial pty -parallel none -usb
|
/usr/bin/qemu -S -M pc -m 214 -smp 1 -nographic -monitor pty -no-acpi -boot c -hda /dev/HostVG/QEMUGuest1 -net none -serial pty -parallel none -usb
|
@ -1 +1 @@
|
|||||||
/usr/bin/qemu -M pc -m 214 -smp 1 -nographic -monitor pty -no-acpi -boot c -hda /dev/HostVG/QEMUGuest1 -net none -serial telnet:127.0.0.1:9999,listen -parallel none -usb
|
/usr/bin/qemu -S -M pc -m 214 -smp 1 -nographic -monitor pty -no-acpi -boot c -hda /dev/HostVG/QEMUGuest1 -net none -serial telnet:127.0.0.1:9999,listen -parallel none -usb
|
@ -1 +1 @@
|
|||||||
/usr/bin/qemu -M pc -m 214 -smp 1 -nographic -monitor pty -no-acpi -boot c -hda /dev/HostVG/QEMUGuest1 -net none -serial tcp:127.0.0.1:9999 -parallel none -usb
|
/usr/bin/qemu -S -M pc -m 214 -smp 1 -nographic -monitor pty -no-acpi -boot c -hda /dev/HostVG/QEMUGuest1 -net none -serial tcp:127.0.0.1:9999 -parallel none -usb
|
@ -1 +1 @@
|
|||||||
/usr/bin/qemu -M pc -m 214 -smp 1 -nographic -monitor pty -no-acpi -boot c -hda /dev/HostVG/QEMUGuest1 -net none -serial udp:127.0.0.1:9998@127.0.0.1:9999 -parallel none -usb
|
/usr/bin/qemu -S -M pc -m 214 -smp 1 -nographic -monitor pty -no-acpi -boot c -hda /dev/HostVG/QEMUGuest1 -net none -serial udp:127.0.0.1:9998@127.0.0.1:9999 -parallel none -usb
|
@ -1 +1 @@
|
|||||||
/usr/bin/qemu -M pc -m 214 -smp 1 -nographic -monitor pty -no-acpi -boot c -hda /dev/HostVG/QEMUGuest1 -net none -serial unix:/tmp/serial.sock -parallel none -usb
|
/usr/bin/qemu -S -M pc -m 214 -smp 1 -nographic -monitor pty -no-acpi -boot c -hda /dev/HostVG/QEMUGuest1 -net none -serial unix:/tmp/serial.sock -parallel none -usb
|
@ -1 +1 @@
|
|||||||
/usr/bin/qemu -M pc -m 214 -smp 1 -nographic -monitor pty -no-acpi -boot c -hda /dev/HostVG/QEMUGuest1 -net none -serial vc -parallel none -usb
|
/usr/bin/qemu -S -M pc -m 214 -smp 1 -nographic -monitor pty -no-acpi -boot c -hda /dev/HostVG/QEMUGuest1 -net none -serial vc -parallel none -usb
|
@ -1 +1 @@
|
|||||||
/usr/bin/qemu -M pc -m 214 -smp 1 -nographic -monitor pty -no-acpi -boot c -hda /dev/HostVG/QEMUGuest1 -net none -serial none -parallel none -usb -soundhw pcspk,es1370,sb16
|
/usr/bin/qemu -S -M pc -m 214 -smp 1 -nographic -monitor pty -no-acpi -boot c -hda /dev/HostVG/QEMUGuest1 -net none -serial none -parallel none -usb -soundhw pcspk,es1370,sb16
|
Loading…
x
Reference in New Issue
Block a user