Dovecot Version: 2.3.2.1

Hello Mailing List,

We are having a random issue in a couple of our production servers, where one of the child processes randomly dies with an out of memory error (see below):

Nov 26 11:58:17 config: Fatal: pool_system_malloc(8192): Out of memory
Nov 26 11:58:17 pop3-login: Fatal: Error reading configuration: read(/var/run/dovecot/config) failed: EOF
Nov 26 11:58:17 config: Fatal: master: service(config): child 29696 returned error 83 (Out of memory (service config { vsz_limit=2048 MB }, you may need to increase it) - set CORE_OUTOFMEM=1 environment to get core dump)

We only use dovecot for internal application POP3 mail access from a mailbox, and there is under 10 connecting applications.  Have have gradually increased the vsz_limit from the default of 256mb up to 2GB now. Is there anything else that should/could be changed instead of continuing to through memory at it?



# dovecot -n
# 2.3.2.1 (0719df592): /etc/dovecot/dovecot.conf
# OS: Linux 3.10.0-862.11.6.el7.x86_64 x86_64 CentOS Linux release 7.5.1804 (Core) 
# Hostname: <Internal host name here, removed>
doveconf: Warning: please set ssl_dh=</etc/dovecot/dh.pem
doveconf: Warning: You can generate it with: dd if=/var/lib/dovecot/ssl-parameters.dat bs=1 skip=88 | openssl dhparam -inform der > /etc/dovecot/dh.pem
auth_cache_size = 10 M
auth_verbose = yes
base_dir = /var/run/dovecot/
default_vsz_limit = 2 G
instance_name = EMX Pop Mailstore
listen = <Internal ethernet Name Here, removed>
log_path = /var/log/dovecot-echo.log
login_greeting = Pop3 MailServer Ready.
login_trusted_networks = <IP Addresses Here, removed>
mail_location = maildir:~/Maildir
namespace inbox {
  inbox = yes
  location =
  mailbox Drafts {
    special_use = \Drafts
  }
  mailbox Junk {
    special_use = \Junk
  }
  mailbox Sent {
    special_use = \Sent
  }
  mailbox "Sent Messages" {
    special_use = \Sent
  }
  mailbox Trash {
    special_use = \Trash
  }
  prefix =
}
passdb {
  args = cache_key=%u
  driver = pam
}
protocols = pop3
ssl_cert = </etc/pki/dovecot/certs/dovecot.pem
ssl_dh =  # hidden, use -P to show it
ssl_key =  # hidden, use -P to show it
userdb {
  driver = passwd
}
verbose_ssl = yes


Thanks,

Kevin