* Timo Sirainen <tss at iki.fi> 2015.08.25 22:21:> There's no good default setting here. It depends on your userdb settings and/or mail_uid setting. So for example if your imap processes are running as vmail user, you should set service imap-hibernate { unix_listener imap-hibernate { user = vmail } }. Then again if you are using system users (or otherwise multiple UIDs) it gets more difficult to implement this securely (mode=0666 works always, but security isn't too good). This same problem exists for various other parts of Dovecot, for example indexer-worker and dict services.I have it working (I guess) with these user settings (virtual users using 'vmail'): service imap-hibernate { unix_listener imap-hibernate { user = vmail } } I had to assign the imap-master socket the user the imap-hibernate process is using to avoid messages like this: Aug 25 23:16:02 nihlus dovecot: imap-hibernate(tlx at leuxner.net): Error: net_connect_unix(/var/run/dovecot/imap-master) failed: Permission denied Aug 25 23:16:02 nihlus dovecot: imap-hibernate(tlx at leuxner.net): Failed to connect to master socket in=126 out=944 hdr=0 body=0 del=0 exp=0 trash=0 service imap { unix_listener imap-master { user = dovecot } } With this I see messages like this in the logs: Aug 26 09:48:06 nihlus dovecot: imap-hibernate(tlx at leuxner.net): Connection closed in=189 out=4252 hdr=0 body=0 del=0 exp=0 trash=0 Aug 26 12:20:29 nihlus dovecot: imap-hibernate(tlx at leuxner.net): Connection closed in=109 out=4714 hdr=0 body=0 del=0 exp=0 trash=0 I'm a bit puzzled as to when hibernate actually kicks in because most of the time I see normal imap processes running without them being hibernated: $ ps aux | grep dovecot/imap dovenull 6791 0.0 0.0 18196 4772 ? S 06:39 0:00 dovecot/imap-login dovenull 7107 0.0 0.0 18196 4736 ? S 08:00 0:00 dovecot/imap-login dovenull 7112 0.0 0.0 18332 4492 ? S 08:00 0:00 dovecot/imap-login dovenull 7333 0.0 0.0 18332 4772 ? S 08:45 0:00 dovecot/imap-login dovenull 7675 0.0 0.0 18196 4628 ? S 10:13 0:00 dovecot/imap-login dovenull 7677 0.0 0.0 18332 4532 ? S 10:14 0:00 dovecot/imap-login dovenull 7821 0.0 0.0 18196 4532 ? S 10:44 0:00 dovecot/imap-login dovenull 8156 0.0 0.0 18196 4756 ? S 12:01 0:00 dovecot/imap-login vmail 8157 0.0 0.0 45624 9608 ? S 12:01 0:00 dovecot/imap dovenull 8158 0.0 0.0 18332 4628 ? S 12:01 0:00 dovecot/imap-login vmail 8159 0.0 0.0 44772 9256 ? S 12:01 0:00 dovecot/imap dovenull 8160 0.0 0.0 18196 4652 ? S 12:01 0:00 dovecot/imap-login vmail 8161 0.0 0.0 46072 9760 ? S 12:01 0:00 dovecot/imap dovenull 8162 0.0 0.0 18196 4548 ? S 12:01 0:00 dovecot/imap-login dovenull 8279 0.0 0.0 18332 4736 ? S 12:22 0:00 dovecot/imap-login vmail 8280 0.0 0.0 40712 5164 ? S 12:22 0:00 dovecot/imap dovenull 8341 0.0 0.0 18196 4740 ? S 12:25 0:00 dovecot/imap-login vmail 8344 0.0 0.0 46312 10568 ? S 12:25 0:00 dovecot/imap -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 181 bytes Desc: Digital signature URL: <http://dovecot.org/pipermail/dovecot/attachments/20150826/3e187723/attachment.sig>
On 08/26/2015 01:33 PM, Thomas Leuxner wrote:> * Timo Sirainen <tss at iki.fi> 2015.08.25 22:21: > >> There's no good default setting here. It depends on your userdb settings and/or mail_uid setting. So for example if your imap processes are running as vmail user, you should set service imap-hibernate { unix_listener imap-hibernate { user = vmail } }. Then again if you are using system users (or otherwise multiple UIDs) it gets more difficult to implement this securely (mode=0666 works always, but security isn't too good). This same problem exists for various other parts of Dovecot, for example indexer-worker and dict services. > > I have it working (I guess) with these user settings (virtual users using 'vmail'): > > service imap-hibernate { > unix_listener imap-hibernate { > user = vmail > } > } > > I had to assign the imap-master socket the user the imap-hibernate process is using to avoid messages like this: > > Aug 25 23:16:02 nihlus dovecot: imap-hibernate(tlx at leuxner.net): Error: net_connect_unix(/var/run/dovecot/imap-master) failed: Permission denied > Aug 25 23:16:02 nihlus dovecot: imap-hibernate(tlx at leuxner.net): Failed to connect to master socket in=126 out=944 hdr=0 body=0 del=0 exp=0 trash=0 > > service imap { > unix_listener imap-master { > user = dovecot > } > } > > With this I see messages like this in the logs: > > Aug 26 09:48:06 nihlus dovecot: imap-hibernate(tlx at leuxner.net): Connection closed in=189 out=4252 hdr=0 body=0 del=0 exp=0 trash=0 > Aug 26 12:20:29 nihlus dovecot: imap-hibernate(tlx at leuxner.net): Connection closed in=109 out=4714 hdr=0 body=0 del=0 exp=0 trash=0 > > I'm a bit puzzled as to when hibernate actually kicks in because most of the time I see normal imap processes running without them being hibernated:Did you specify a value other than zero for 'imap_hibernate_timeout'? br, Teemu> $ ps aux | grep dovecot/imap > dovenull 6791 0.0 0.0 18196 4772 ? S 06:39 0:00 dovecot/imap-login > dovenull 7107 0.0 0.0 18196 4736 ? S 08:00 0:00 dovecot/imap-login > dovenull 7112 0.0 0.0 18332 4492 ? S 08:00 0:00 dovecot/imap-login > dovenull 7333 0.0 0.0 18332 4772 ? S 08:45 0:00 dovecot/imap-login > dovenull 7675 0.0 0.0 18196 4628 ? S 10:13 0:00 dovecot/imap-login > dovenull 7677 0.0 0.0 18332 4532 ? S 10:14 0:00 dovecot/imap-login > dovenull 7821 0.0 0.0 18196 4532 ? S 10:44 0:00 dovecot/imap-login > dovenull 8156 0.0 0.0 18196 4756 ? S 12:01 0:00 dovecot/imap-login > vmail 8157 0.0 0.0 45624 9608 ? S 12:01 0:00 dovecot/imap > dovenull 8158 0.0 0.0 18332 4628 ? S 12:01 0:00 dovecot/imap-login > vmail 8159 0.0 0.0 44772 9256 ? S 12:01 0:00 dovecot/imap > dovenull 8160 0.0 0.0 18196 4652 ? S 12:01 0:00 dovecot/imap-login > vmail 8161 0.0 0.0 46072 9760 ? S 12:01 0:00 dovecot/imap > dovenull 8162 0.0 0.0 18196 4548 ? S 12:01 0:00 dovecot/imap-login > dovenull 8279 0.0 0.0 18332 4736 ? S 12:22 0:00 dovecot/imap-login > vmail 8280 0.0 0.0 40712 5164 ? S 12:22 0:00 dovecot/imap > dovenull 8341 0.0 0.0 18196 4740 ? S 12:25 0:00 dovecot/imap-login > vmail 8344 0.0 0.0 46312 10568 ? S 12:25 0:00 dovecot/imap >
* Teemu Huovila <teemu.huovila at dovecot.fi> 2015.08.27 13:58:> Did you specify a value other than zero for 'imap_hibernate_timeout'?Yes I did: $ doveconf imap_hibernate_timeout imap_hibernate_timeout = 1 mins I sometimes see one imap-hibernate process (only one), but several imap processes active which should be idling... -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 181 bytes Desc: Digital signature URL: <http://dovecot.org/pipermail/dovecot/attachments/20150827/c84d418a/attachment.sig>
On 26 Aug 2015, at 13:33, Thomas Leuxner <tlx at leuxner.net> wrote:> > With this I see messages like this in the logs: > > Aug 26 09:48:06 nihlus dovecot: imap-hibernate(tlx at leuxner.net): Connection closed in=189 out=4252 hdr=0 body=0 del=0 exp=0 trash=0 > Aug 26 12:20:29 nihlus dovecot: imap-hibernate(tlx at leuxner.net): Connection closed in=109 out=4714 hdr=0 body=0 del=0 exp=0 trash=0So hibernation is at least sometimes used. Here the IMAP client got disconnected while IDLEing.> I'm a bit puzzled as to when hibernate actually kicks in because most of the time I see normal imap processes running without them being hibernated: > > $ ps aux | grep dovecot/imap > vmail 8157 0.0 0.0 45624 9608 ? S 12:01 0:00 dovecot/imap > dovenull 8158 0.0 0.0 18332 4628 ? S 12:01 0:00 dovecot/imap-login > vmail 8159 0.0 0.0 44772 9256 ? S 12:01 0:00 dovecot/imap > dovenull 8160 0.0 0.0 18196 4652 ? S 12:01 0:00 dovecot/imap-login > vmail 8161 0.0 0.0 46072 9760 ? S 12:01 0:00 dovecot/imap > dovenull 8162 0.0 0.0 18196 4548 ? S 12:01 0:00 dovecot/imap-login > dovenull 8279 0.0 0.0 18332 4736 ? S 12:22 0:00 dovecot/imap-login > vmail 8280 0.0 0.0 40712 5164 ? S 12:22 0:00 dovecot/imap > dovenull 8341 0.0 0.0 18196 4740 ? S 12:25 0:00 dovecot/imap-login > vmail 8344 0.0 0.0 46312 10568 ? S 12:25 0:00 dovecot/imapSet verbose_proctitle=yes and you'll see what the imap processes are doing. It'll show IDLE in the ps output if the client is IDLEing. Although it doesn't say how long the client has been doing it.
On 29 Aug 2015, at 13:20, Timo Sirainen <tss at iki.fi> wrote:> >> I'm a bit puzzled as to when hibernate actually kicks in because most of the time I see normal imap processes running without them being hibernated:Also if you set mail_debug=yes Dovecot will log "Couldn't hibernate imap client:" lines if it attempted to start hibernation but it couldn't be done for whatever reason.
* Timo Sirainen <tss at iki.fi> 2015.08.29 12:20:> Set verbose_proctitle=yes and you'll see what the imap processes are doing. It'll show IDLE in the ps output if the client is IDLEing. Although it doesn't say how long the client has been doing it.dovenull 1318 0.0 0.0 18340 4772 ? S 17:50 0:00 dovecot/imap-login [1 connections (1 TLS)] dovenull 1333 0.0 0.0 18340 4576 ? S 17:50 0:00 dovecot/imap-login [1 connections (1 TLS)] dovenull 1335 0.0 0.0 18200 4652 ? S 17:50 0:00 dovecot/imap-login dovenull 1336 0.0 0.0 18200 4676 ? S 17:50 0:00 dovecot/imap-login dovenull 1342 0.0 0.0 18340 4772 ? S 17:51 0:00 dovecot/imap-login [1 connections (1 TLS)] dovenull 1704 0.0 0.0 18200 4572 ? S 19:15 0:00 dovecot/imap-login dovenull 1709 0.0 0.0 18200 4652 ? S 19:15 0:00 dovecot/imap-login dovenull 1711 0.0 0.0 18200 4636 ? S 19:15 0:00 dovecot/imap-login dovenull 1994 0.0 0.0 18200 4740 ? S 20:56 0:00 dovecot/imap-login dovenull 1997 0.0 0.0 18200 4568 ? S 20:56 0:00 dovecot/imap-login vmail 1998 0.0 0.0 45448 10048 ? S 20:56 0:00 dovecot/imap [tlx at leuxner.net 1.2.3.4 IDLE] dovenull 1999 0.0 0.0 18340 4732 ? S 20:56 0:00 dovecot/imap-login [1 connections (1 TLS)] dovenull 2001 0.0 0.0 18200 4796 ? S 20:56 0:00 dovecot/imap-login vmail 2002 0.0 0.0 52880 13500 ? S 20:56 0:00 dovecot/imap [tlx at leuxner.net 1.2.3.4 IDLE] dovecot 2008 0.0 0.0 9380 936 ? S 20:57 0:00 dovecot/imap-hibernate [2 connections] After disabling "check for new messages" polling in the client it looks a lot better, multiple connections have been hibernated. Thanks. -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 181 bytes Desc: Digital signature URL: <http://dovecot.org/pipermail/dovecot/attachments/20150829/833f3883/attachment.sig>
Reasonably Related Threads
- IMAP hibernate feature committed
- events
- v2.2.15 - make check - Conditional jump or move depends on uninitialised value
- Dovecot Replication - Architecture Endianness?
- Additional userdb variables in passwd [was Re: Dovecot Replication - Architecture Endianness?]