From: Markus Frank <m.frank@proxmox.com>
To: pmg-devel@lists.proxmox.com
Subject: [pmg-devel] [PATCH pmg-api v3] config: adjust max_filters calculation to reflect current memory usage
Date: Thu, 18 Jan 2024 15:55:32 +0100 [thread overview]
Message-ID: <20240118145532.1362939-1-m.frank@proxmox.com> (raw)
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>
---
Tested edge cases with setting min_servers to max_servers
in src/bin/pmg-smtp-filter
src/PMG/Config.pm | 11 ++++++++++-
1 file changed, 10 insertions(+), 1 deletion(-)
diff --git a/src/PMG/Config.pm b/src/PMG/Config.pm
index 7339e0d..061396e 100644
--- a/src/PMG/Config.pm
+++ b/src/PMG/Config.pm
@@ -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;
--
2.39.2
next reply other threads:[~2024-01-18 14:55 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-01-18 14:55 Markus Frank [this message]
2024-02-19 18:04 ` Alexander Zeidler
2024-02-21 8:23 ` Markus Frank
2024-02-21 16:28 ` [pmg-devel] applied: " Thomas Lamprecht
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20240118145532.1362939-1-m.frank@proxmox.com \
--to=m.frank@proxmox.com \
--cc=pmg-devel@lists.proxmox.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox