[Dovecot] Calculation of suggested vsz_limit values

Nikolaos Milas nmilas at noa.gr
Fri Dec 16 11:09:39 EET 2011


Hello,

I would like to ask on suggested vsz_limit values.

Is there any way of calculating such values? How should we determine 
them? I don't want to risk wrong values (and possible errors) on a 
production system, if I upgrade to 2.0.16 where vsz_limit values are 
enforced (I read release notes)!

If there is no standard way of calculation, could someone please check 
the following info and suggest some values?

I am running dovecot-2.0.13-1_128.el5 x86_64 RPM on CentOS 5.7 (as a VM 
on a KVM Host).

All accounts are virtual, hosted on LDAP Server. We have about 250 
mailboxes of 4GB each (in practice, only a couple of mailboxes ever 
reach 1GB so we are "over-booking"). It is a relatively low-load server.

Memory status and config follows below.

Thanks,
Nick

The server memory condition is as follows:

# vmstat
procs -----------memory---------- ---swap-- -----io---- --system-- 
-----cpu------
  r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy 
id wa st
  0  0     92  62400 212324 1299604   0    0   397   235   70   39  4  2 
89  4  0

# free -m
              total       used       free     shared    buffers     cached
Mem:          2010       1951         59          0        207       1269
-/+ buffers/cache:        474       1536
Swap:         2015          0       2015

---------- Config Start -------------

# 2.0.13: dovecot.conf

protocols = imap pop3

mail_location = maildir:~/Maildir/
mail_gid = 500
mail_uid = 500

auth_mechanisms = plain login
auth_username_format = %Lu
auth_verbose = yes
disable_plaintext_auth = no

mail_plugins = quota

protocol imap {
   imap_client_workarounds = "delay-newmail  "
   mail_plugins = quota imap_quota
}

protocol pop3 {
   mail_max_userip_connections = 3
   mail_plugins = quota
   pop3_client_workarounds = outlook-no-nuls oe-ns-eoh
   pop3_uidl_format = %08Xu%08Xv
}

protocol lda {
   auth_socket_path = /var/run/dovecot/auth-master
   info_log_path =
   log_path =
   mail_plugins = quota
   postmaster_address = sysadmin at example.com
   sendmail_path = /usr/lib/sendmail
}

userdb {
   args = /etc/dovecot/dovecot-usrdb-ldap.conf
   driver = ldap
}

passdb {
   args = /etc/dovecot/dovecot-passdb-ldap.conf
   driver = ldap
}

plugin {
   quota = maildir:User quota
   quota_rule = *:storage=4G
   quota_rule2 = Trash:storage=+3%%
   quota_warning = storage=75%% quota-warning 75 %u
   quota_warning2 = storage=90%% quota-warning 90 %u
}

service quota-warning {
   executable = script /opt/mail1.sh
   user = vmail
   unix_listener quota-warning {
     user = vmail
   }
}

service auth {
   unix_listener /var/spool/postfix/private/auth {
     group = postfix
     mode = 0660
     user = postfix
   }
   unix_listener auth-master {
     group = vmail
     mode = 0660
     user = vmail
   }
   user = root
}

service imap-login {
   service_count = 1
   vsz_limit = 64 M
}

service pop3-login {
   service_count = 1
   vsz_limit = 64 M
}

ssl_ca = </etc/pki/CA/certs/chain.pem
ssl_cert = </etc/pki/CA/certs/cert.pem
ssl_key = </etc/pki/CA/private/key.pem

syslog_facility = local1

---------- Config End -------------



More information about the dovecot mailing list