]> git.proxmox.com Git - pmg-api.git/commitdiff
config: adjust max_filters calculation to reflect current memory usage
authorMarkus Frank <m.frank@proxmox.com>
Thu, 18 Jan 2024 14:55:32 +0000 (15:55 +0100)
committerThomas Lamprecht <t.lamprecht@proxmox.com>
Wed, 21 Feb 2024 07:43:10 +0000 (08:43 +0100)
Change max_filters calculation for systems with recommended memory
setup (>4GB).

The values of 2816 and 150 are based on testing with 4GB, 6GB & 8GB
memory configurations, large and small numbers of added objects and
sending multiple mails simultaneously.

On setups with less memory, it is difficult to completely prevent OOM kills.
So for these setups the calculation remains similar, but a warning is sent.

Related OOM killer problem found in forum:
https://forum.proxmox.com/threads/123531/

Signed-off-by: Markus Frank <m.frank@proxmox.com>
src/PMG/Config.pm

index 7339e0d2c713f26318b3afbfa9e21a87c1136703..061396e4d6da1025c7ca4c5bfde2968f29a5f79b 100644 (file)
@@ -459,8 +459,17 @@ sub get_max_filters {
 
     my $max_servers = 5;
     my $servermem = 120;
+    my $base;
     my $memory = physical_memory();
-    my $add_servers = int(($memory - 512)/$servermem);
+    if ($memory < 3840) {
+       warn "low amount of system memory installed, recommended is 4+ GB\n"
+           ."to prevent OOM kills, it is better to set max_filters manually\n";
+       $base = $memory > 1536 ? 1024 : 512;
+    } else {
+       $base = 2816;
+       $servermem = 150;
+    }
+    my $add_servers = int(($memory - $base)/$servermem);
     $max_servers += $add_servers if $add_servers > 0;
     $max_servers = 40 if  $max_servers > 40;