[pmg-devel] [PATCH pmg-api v3] config: adjust max_filters calculation to reflect current memory usage

Alexander Zeidler a.zeidler at proxmox.com
Mon Feb 19 19:04:43 CET 2024


On Thu, 2024-01-18 at 15:55 +0100, Markus Frank wrote:

>      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;
1. Perhaps we also want to increase the current max_filters limit of 40
minus 2?


2. With the recommended 4GB setup, the patch now only returns
max_filters = 10 instead of the previous 32 as marked in the table
below.

(table with temporarily removed 38-limit for the patch columns)

[1]     [2]    [3]  [4]   [5]
RAM *0.975=    yet *120  left     patch       left
0.5     499      3        139         3 *120   139
  1     998      7        158         7 *120   158
  2    1996     15        196        11 *120   676
  3    2995     23        235        19 *120   715

  4    3993     32        153    ==> 10 *150  2493
  8    7987     38       3427        37 *150  2437
 16   15974     38      11414        90 *150  2474
 32   31948     38      27388       197 *150  2398
 64   63897     38      59337       410 *150  2397

[1] installed
[2] ca. MemTotal according to /proc/meminfo, hence used for calculation
[3] max_filters returned by current code
[4] expected servermem used in code and table for calculation
[5] (RAM * 0.975) - (max_filters * servermem)




More information about the pmg-devel mailing list