Background: I’m in the only user on this system, but this server is accessed by 
my phone, my laptop, my tablet, and perhaps a web interface.



But there are some interesting values when I look at the output of doveconf.  
Specifically, vsz_limit is 18,447 PB… yeah, that’s pretty big.

service imap-login {
  vsz_limit = 18446744073709551615 B
}


According to your log it was process “im ap" what ran out of memory. You are 
showing configuration for imap-login - they are not the same thing, see 
http://wiki2.dovecot.org/Design/Processes

My errror, sorry.  OK, here’s imap:

service imap {
   chroot =
   client_limit = 1
   drop_priv_before_exec = no
   executable = imap
   extra_groups =
   group =
   idle_kill = 0
   privileged_group =
   process_limit = 1024
   process_min_avail = 0
   protocol = imap
   service_count = 1
   type =
   unix_listener login/imap {
     group =
     mode = 0666
     user =
   }
   user =
   vsz_limit = 18446744073709551615 B
}

Still the same value…  why not 265MB?

Hm, I can only guess (someone with more knowledge of dovecot source code probably knows better), but it seems like that value is magic number for "not set". My doveconf outputs the same thing on services which don't have vsz_limit set explicitly, but when I list /proc/[pid]/limits on such a service, the row called "Max address space" (which is - AFAIK - limit on vsz) shows 2GB, a value of default_vsz_limit setting.

I'd say don't overthink it, just put explicit vsz_limit = 512M into service imap section (if your machine's RAM allows) and be done with it.

Reply via email to