[pve-devel] [PATCH installer 4/4] gtk, tui: leave 1 GiB headroom for OS in ZFS ARC max size edit view

Christoph Heiss c.heiss at proxmox.com
Fri Feb 28 10:43:39 CET 2025


We always want to leave a little bit of extra headroom
for the OS.

This follows commit 91be6a7 [0], which adjusts the clamp calculation.
Reflect that here in the user-facing UI as well.

[0] https://git.proxmox.com/?p=pve-installer.git;a=commitdiff;h=91be6a7

Signed-off-by: Christoph Heiss <c.heiss at proxmox.com>
---
 proxinstall                                 | 3 ++-
 proxmox-tui-installer/src/views/bootdisk.rs | 4 +++-
 2 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/proxinstall b/proxinstall
index fe7e29f..2101f0a 100755
--- a/proxinstall
+++ b/proxinstall
@@ -1159,9 +1159,10 @@ my $create_raid_advanced_grid = sub {
     my $total_memory = Proxmox::Install::RunEnv::get('total_memory');
     my $arc_max = Proxmox::Install::Config::get_zfs_opt('arc_max') || ($total_memory * 0.5);
 
+    # always leave a GiB as headroom for the OS
     my $arc_max_adjustment = Gtk3::Adjustment->new(
 	$arc_max, $Proxmox::Install::RunEnv::ZFS_ARC_MIN_SIZE_MIB,
-	$total_memory, 1, 10, 0);
+	$total_memory - 1024, 1, 10, 0);
     my $spinbutton_arc_max = Gtk3::SpinButton->new($arc_max_adjustment, 1, 0);
     $spinbutton_arc_max->set_tooltip_text('Maximum ARC size in megabytes');
     $spinbutton_arc_max->signal_connect('value-changed' => sub {
diff --git a/proxmox-tui-installer/src/views/bootdisk.rs b/proxmox-tui-installer/src/views/bootdisk.rs
index 2e2019d..c8b3ef3 100644
--- a/proxmox-tui-installer/src/views/bootdisk.rs
+++ b/proxmox-tui-installer/src/views/bootdisk.rs
@@ -632,7 +632,9 @@ impl ZfsBootdiskOptionsView {
     // TODO: Re-apply previous disk selection from `options` correctly
     fn new(runinfo: &RuntimeInfo, options: &ZfsBootdiskOptions) -> Self {
         let arc_max_view = {
-            let view = IntegerEditView::new_with_suffix("MiB").max_value(runinfo.total_memory);
+            // Always leave a GiB of headroom for the OS.
+            let view =
+                IntegerEditView::new_with_suffix("MiB").max_value(runinfo.total_memory - 1024);
 
             // If the runtime environment provides a non-zero value, that is
             // also not the built-in ZFS default of half the system memory, use
-- 
2.47.1





More information about the pve-devel mailing list