Re: [gentoo-user] dovecot + inotify max_user instances

2014-01-07 Thread Tanstaafl

On 2014-01-06 2:53 PM, cov...@ccs.covici.com cov...@ccs.covici.com wrote:

I put such a thing in /etc/sysctl.conf like this -- I don't have
dovecot, but I needed it for crashplan
fs.inotify.max_user_watches=100
or whatever value suits.


Ok, after your and Alans comments and some more reading, I guess I 
agree, but...


man sysctl, and the README in /etc/sysctl.d aren't very helpful.

Would the proper line be:

# Increase inotify.max_user_instances for dovecot
fs.inotify.max_user_instances=1024

?

And how would I have ascertained this? Ie, I wouldn't have known to use 
the fs.prefix...


Thanks



Re: [gentoo-user] dovecot + inotify max_user instances

2014-01-07 Thread J. Roeleveld
Tanstaafl tansta...@libertytrek.org wrote:
On 2014-01-06 2:53 PM, cov...@ccs.covici.com cov...@ccs.covici.com
wrote:
 I put such a thing in /etc/sysctl.conf like this -- I don't have
 dovecot, but I needed it for crashplan
 fs.inotify.max_user_watches=100
 or whatever value suits.

Ok, after your and Alans comments and some more reading, I guess I 
agree, but...

man sysctl, and the README in /etc/sysctl.d aren't very helpful.

Would the proper line be:

# Increase inotify.max_user_instances for dovecot
fs.inotify.max_user_instances=1024

?

And how would I have ascertained this? Ie, I wouldn't have known to use

the fs.prefix...

Thanks

Tanstaafl,

You remove '/proc/sys/' from the path. Then replace every '/' with a '.' :)

--
Joost
-- 
Sent from my Android device with K-9 Mail. Please excuse my brevity.

[gentoo-user] dovecot + inotify max_user instances

2014-01-06 Thread Tanstaafl

Hello,

Last year Timo (the dovecot author) remoted into our server and migrated 
us from courier-imap to dovecot. One of the things we ran into 
afterwards was this warning in the logs:



Warning: Inotify instance limit for user 200 (UID vmail) exceeded, disabling. 
Increase /proc/sys/fs/inotify/max_user_instances


He solved it by doing:

echo 1024  /proc/sys/fs/inotify/max_user_instances

Then he said he was going to solve this permanently by changing the init 
script...


Well, my shiny new server encountered the same issue once it went under 
load this morning, so I had to dig out this solution - but obviously 
this will come back again the next time I reboot, so I want to find a 
permanent solution.


I guess I could manually modify my init script, but I'm clueless as to 
where or how.


If someone can help me figure out how to do this, I'll go open a bug to 
get this added to the gentoo init script permanently.


The current (gentoo) init script is:


#!/sbin/runscript
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License, v2 or
later
# $Header:
/var/cvsroot/gentoo-x86/net-mail/dovecot/files/dovecot.init-r4,v 1.1
2012/12/01 10:40:49 eras Exp $

extra_started_commands=reload

depend() {
need localmount
before postfix
after bootmisc ldap mysql ntp-client ntpd postgresql saslauthd
slapd
use logger net
}

checkconfig() {
DOVECOT_INSTANCE=${SVCNAME##*.}
if [ -n ${DOVECOT_INSTANCE} -a ${SVCNAME} != dovecot ]; then
DOVECOT_CONF=/etc/dovecot/dovecot.${DOVECOT_INSTANCE}.conf
else
DOVECOT_CONF=/etc/dovecot/dovecot.conf
fi
if [ ! -e ${DOVECOT_CONF} ]; then
eerror You will need an ${DOVECOT_CONF} first
return 1
fi
if [ -x /usr/sbin/dovecot ]; then
DOVECOT_BASEDIR=$(/usr/sbin/dovecot -c ${DOVECOT_CONF}
-a | grep '^base_dir = ' | sed 's/^base_dir = //')
else
eerror dovecot not executable
return 1
fi
DOVECOT_BASEDIR=${DOVECOT_BASEDIR:-/var/run/dovecot}
DOVECOT_PIDFILE=${DOVECOT_BASEDIR}/master.pid
}

start() {
checkconfig || return 1
ebegin Starting ${SVCNAME}
start-stop-daemon --start --exec /usr/sbin/dovecot \
--pidfile ${DOVECOT_PIDFILE} -- -c ${DOVECOT_CONF}
eend $?
}

stop() {
checkconfig || return 1
ebegin Stopping ${SVCNAME}
start-stop-daemon --stop --exec /usr/sbin/dovecot \
--pidfile ${DOVECOT_PIDFILE}
eend $?
}

reload() {
checkconfig || return 1
ebegin Reloading ${SVCNAME} configs and restarting auth/login
processes
start-stop-daemon --signal HUP --exec /usr/sbin/dovecot \
--pidfile ${DOVECOT_PIDFILE}
eend $?
}


Thx for any help...

Charles




Re: [gentoo-user] dovecot + inotify max_user instances

2014-01-06 Thread Alan McKinnon
On 06/01/2014 20:50, Tanstaafl wrote:
 Hello,
 
 Last year Timo (the dovecot author) remoted into our server and migrated
 us from courier-imap to dovecot. One of the things we ran into
 afterwards was this warning in the logs:
 
 Warning: Inotify instance limit for user 200 (UID vmail) exceeded,
 disabling. Increase /proc/sys/fs/inotify/max_user_instances
 
 He solved it by doing:
 
 echo 1024  /proc/sys/fs/inotify/max_user_instances
 
 Then he said he was going to solve this permanently by changing the init
 script...
 
 Well, my shiny new server encountered the same issue once it went under
 load this morning, so I had to dig out this solution - but obviously
 this will come back again the next time I reboot, so I want to find a
 permanent solution.
 
 I guess I could manually modify my init script, but I'm clueless as to
 where or how.
 
 If someone can help me figure out how to do this, I'll go open a bug to
 get this added to the gentoo init script permanently.

[snip]

There's a more generic solution that doesn't involve hacking the init
script. Not all dovecot users will appreciate such a change be put on
their systems and that kind of config is best left up to the individual
sysadmin to determine what suits them best (no single value satisfies
everyone).

Instead, add that echo statement to a file in /etc/local.d/ and add the
local service to your default runlevel. It will tweak the
max_user_instances knob for you when it runs, same with all such local
knob fiddling you do to optimize performance.

I think overall this is better than hacking around in dovecot's start-up
script (a rather unsuitable place for it imho)



-- 
Alan McKinnon
alan.mckin...@gmail.com




Re: [gentoo-user] dovecot + inotify max_user instances

2014-01-06 Thread covici
Alan McKinnon alan.mckin...@gmail.com wrote:

 On 06/01/2014 20:50, Tanstaafl wrote:
  Hello,
  
  Last year Timo (the dovecot author) remoted into our server and migrated
  us from courier-imap to dovecot. One of the things we ran into
  afterwards was this warning in the logs:
  
  Warning: Inotify instance limit for user 200 (UID vmail) exceeded,
  disabling. Increase /proc/sys/fs/inotify/max_user_instances
  
  He solved it by doing:
  
  echo 1024  /proc/sys/fs/inotify/max_user_instances
  
  Then he said he was going to solve this permanently by changing the init
  script...
  
  Well, my shiny new server encountered the same issue once it went under
  load this morning, so I had to dig out this solution - but obviously
  this will come back again the next time I reboot, so I want to find a
  permanent solution.
  
  I guess I could manually modify my init script, but I'm clueless as to
  where or how.
  
  If someone can help me figure out how to do this, I'll go open a bug to
  get this added to the gentoo init script permanently.
 
 [snip]
 
 There's a more generic solution that doesn't involve hacking the init
 script. Not all dovecot users will appreciate such a change be put on
 their systems and that kind of config is best left up to the individual
 sysadmin to determine what suits them best (no single value satisfies
 everyone).
 
 Instead, add that echo statement to a file in /etc/local.d/ and add the
 local service to your default runlevel. It will tweak the
 max_user_instances knob for you when it runs, same with all such local
 knob fiddling you do to optimize performance.
 
 I think overall this is better than hacking around in dovecot's start-up
 script (a rather unsuitable place for it imho)

I put such a thing in /etc/sysctl.conf like this -- I don't have
dovecot, but I needed it for crashplan
fs.inotify.max_user_watches=100
or whatever value suits.

-- 
Your life is like a penny.  You're going to lose it.  The question is:
How do
you spend it?

 John Covici
 cov...@ccs.covici.com



Re: [gentoo-user] dovecot + inotify max_user instances

2014-01-06 Thread Alan McKinnon
On 06/01/2014 21:53, cov...@ccs.covici.com wrote:
 Instead, add that echo statement to a file in /etc/local.d/ and add the
  local service to your default runlevel. It will tweak the
  max_user_instances knob for you when it runs, same with all such local
  knob fiddling you do to optimize performance.
  
  I think overall this is better than hacking around in dovecot's start-up
  script (a rather unsuitable place for it imho)
 I put such a thing in /etc/sysctl.conf like this -- I don't have
 dovecot, but I needed it for crashplan
 fs.inotify.max_user_watches=100
 or whatever value suits.


/me bangs head

Yes of course, that is a better solution for things with a sysctl.

I look at the echo statement and it writes to something in /proc
My brain said it writes to something in /sys

Now, where do I leave those memory-booster pills for old people again?

-- 
Alan McKinnon
alan.mckin...@gmail.com




Re: [gentoo-user] dovecot + inotify max_user instances

2014-01-06 Thread Tanstaafl

On 2014-01-06 2:32 PM, Alan McKinnon alan.mckin...@gmail.com wrote:

I think overall this is better than hacking around in dovecot's start-up
script (a rather unsuitable place for it imho


Actually, a follow-up from Timo said he was planning on making this a 
configuration setting (default blank), and the init script would then 
just use this setting (if set).


Which probably makes the most sense...



Re: [gentoo-user] dovecot + inotify max_user instances

2014-01-06 Thread Alan McKinnon
On 06/01/2014 23:04, Tanstaafl wrote:
 On 2014-01-06 2:32 PM, Alan McKinnon alan.mckin...@gmail.com wrote:
 I think overall this is better than hacking around in dovecot's start-up
 script (a rather unsuitable place for it imho
 
 Actually, a follow-up from Timo said he was planning on making this a
 configuration setting (default blank), and the init script would then
 just use this setting (if set).
 
 Which probably makes the most sense...

Personally, I'd put it in sysctls per covics post.

Can you imagine three years hence trying to find why max_user_instances
is set non-default and *nothing* in the usual places gives a clue why?

When you eventually resort to grep -r max_user_instances /etc and
realise that a kernel setting is being changed in your imap server
config, you will curse and swear to the heavens (been there, done that)

Of course, it's up to you. I just like to make config settings in places
that are the most obvious to everyone who is not me


-- 
Alan McKinnon
alan.mckin...@gmail.com




Re: [gentoo-user] dovecot + inotify max_user instances

2014-01-06 Thread William Kenworthy
On 07/01/14 02:50, Tanstaafl wrote:
 Hello,
 
 Last year Timo (the dovecot author) remoted into our server and migrated
 us from courier-imap to dovecot. One of the things we ran into
 afterwards was this warning in the logs:
 
 Warning: Inotify instance limit for user 200 (UID vmail) exceeded,
 disabling. Increase /proc/sys/fs/inotify/max_user_instances
 
 He solved it by doing:
 
 echo 1024  /proc/sys/fs/inotify/max_user_instances
 
 Then he said he was going to solve this permanently by changing the init
 script...

Why initscript? - as a user you should put this in a /etc/local.d
script.  Leave the system files as they are.

BillK