file-restore: add more RAM for VMs with many drives or debug
The guest kernel requires more memory depending on how many disks are attached. 256 seems to be enough for basically any reasonable and unreasonable amount of disks though. For debug instance, make it 1G, as these are never started automatically anyway, and need at least 512MB since the initramfs (especially when including a debug build of the daemon) is substantially bigger. Signed-off-by: Stefan Reiter <s.reiter@proxmox.com>
This commit is contained in:
parent
7d39e47182
commit
61c4087041
@ -167,8 +167,6 @@ pub async fn start_vm(
|
|||||||
"-vnc",
|
"-vnc",
|
||||||
"none",
|
"none",
|
||||||
"-enable-kvm",
|
"-enable-kvm",
|
||||||
"-m",
|
|
||||||
"128",
|
|
||||||
"-kernel",
|
"-kernel",
|
||||||
buildcfg::PROXMOX_BACKUP_KERNEL_FN,
|
buildcfg::PROXMOX_BACKUP_KERNEL_FN,
|
||||||
"-initrd",
|
"-initrd",
|
||||||
@ -206,11 +204,24 @@ pub async fn start_vm(
|
|||||||
id += 1;
|
id += 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
let ram = if debug {
|
||||||
|
1024
|
||||||
|
} else {
|
||||||
|
// add more RAM if many drives are given
|
||||||
|
match id {
|
||||||
|
f if f < 10 => 128,
|
||||||
|
f if f < 20 => 192,
|
||||||
|
_ => 256,
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
// Try starting QEMU in a loop to retry if we fail because of a bad 'cid' value
|
// Try starting QEMU in a loop to retry if we fail because of a bad 'cid' value
|
||||||
let mut attempts = 0;
|
let mut attempts = 0;
|
||||||
loop {
|
loop {
|
||||||
let mut qemu_cmd = std::process::Command::new("qemu-system-x86_64");
|
let mut qemu_cmd = std::process::Command::new("qemu-system-x86_64");
|
||||||
qemu_cmd.args(base_args.iter());
|
qemu_cmd.args(base_args.iter());
|
||||||
|
qemu_cmd.arg("-m");
|
||||||
|
qemu_cmd.arg(ram.to_string());
|
||||||
qemu_cmd.args(&drives);
|
qemu_cmd.args(&drives);
|
||||||
qemu_cmd.arg("-device");
|
qemu_cmd.arg("-device");
|
||||||
qemu_cmd.arg(format!(
|
qemu_cmd.arg(format!(
|
||||||
|
Loading…
Reference in New Issue
Block a user