[pve-devel] [PATCH qemu-server] qemu options: add memory_allocator
Alexandre Derumier
aderumier at odiso.com
Mon Mar 13 11:16:00 CET 2023
Add optional memory_allocator.
Default is glibc malloc, tcmalloc is available to improve performance
of ceph librbd.
Signed-off-by: Alexandre Derumier <aderumier at odiso.com>
---
PVE/QemuServer.pm | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/PVE/QemuServer.pm b/PVE/QemuServer.pm
index 40be44d..8de6c82 100644
--- a/PVE/QemuServer.pm
+++ b/PVE/QemuServer.pm
@@ -723,6 +723,14 @@ EODESCR
description => "List of host cores used to execute guest processes, for example: 0,5,8-11",
optional => 1,
},
+ memory_allocator => {
+ optional => 1,
+ type => 'string',
+ enum => [ qw(glibc tcmalloc) ],
+ default => 'glibc',
+ description => "Configure qemu process memory allocator. tcmalloc improve performance of ceph librbd",
+ optional => 1,
+ },
};
my $cicustom_fmt = {
@@ -5909,6 +5917,10 @@ sub vm_start_nolock {
my $run_qemu = sub {
PVE::Tools::run_fork sub {
+
+ $ENV{LD_PRELOAD} = "/usr/lib/x86_64-linux-gnu/libtcmalloc.so.4"
+ if $conf->{memory_allocator} && $conf->{memory_allocator} eq 'tcmalloc';
+
PVE::Systemd::enter_systemd_scope($vmid, "Proxmox VE VM $vmid", %systemd_properties);
my $tpmpid;
--
2.30.2
More information about the pve-devel
mailing list