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 -------------
Hi, No hints about vsz_limit values? Anyone? Thanks, Nick On 16/12/2011 11:09 ??, Nikolaos Milas wrote:> 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 ------------- > >
On 16.12.2011, at 11.09, Nikolaos Milas wrote:> I would like to ask on suggested vsz_limit values. > > Is there any way of calculating such values?Not really. For mail related processes (imap, pop3, lmtp) you could find the largest dovecot.index.cache file and make sure that vsz_limit is at least 3 times that.> 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 you're very worried, you can simply disable the vsz limits by setting them to 0. The default 256 MB limit is good enough for most uses though.