if [[ $cmd_arg != run ]]; then
opts_show+=(cmd_arg=$cmd_arg)
fi
- if (( $opts_show >= 1 )); then
+ if (( ${#opts_show[@]} >= 1 )); then
first=true
for opt in ${opts_show[@]}; do
if $first; then
rm -fv /etc/dovecot/conf.d/20-lmtp.conf # file from prev version
cat >>/etc/dovecot/local.conf <<EOF
+
+# /etc/dovecot/conf.d/10-master.conf says the default is 256M.
+# but I started getting oom errors in the syslog
+# Mar 27 15:10:04 sy dovecot[330088]: lmtp(iank)<3839880><gO/BDwtvBGaIlzoA7AdaJQ>: Fatal: master: service(lmtp): child 3839880 returned error 83 (Out of memory (service lmtp { vsz_limit=256 MB }, you may need to increase it) - set CORE_OUTOFMEM=1 environment to get core dump)
+# exim would just queue mail until it eventually succeeded.
+# Deciding what to increase it to, I found this
+# https://dovecot.org/list/dovecot/2011-December/080056.html
+# which suggests 3x the largest dovecot.index.cache file
+# and then I found that
+# md/l/testignore/dovecot.index.cache is 429M, my largest cache file,
+# but that folder only has 2k messages.
+# next biggest is md/l/qemu-devel/dovecot.index.cache 236M
+# which lead to me a search https://doc.dovecot.org/admin_manual/known_issues/large_cache/
+# which suggests 1.5x the maximum cache file size 1G, and
+# that I can safely rm the indix
+
+default_vsz_limit = 1500M
+
# simple password file based login
!include conf.d/auth-passwdfile.conf.ext
archive 800 ./!(*archive|board|Drafts|Sent|INBOX)/*(cur|new) ./l/!(*archive)/*(cur|new)
archive 60 ./{sysadmin,rtcc,fsfcc,fsfmembers}/{cur,new}
archive 30 ./Junk/{cur,new}
+
+# This is a generally useless file which will grow to 1gb and eat up memory.
+# https://doc.dovecot.org/admin_manual/known_issues/large_cache/
+# I could probably disable the cache for this folder, but that would
+# also mean I'm testing less of the full functionality.
+rm -f /m/md/l/testignore/dovecot.index.cache