"Resource temporarily unavailable", systemd and your FAQ Webpage
Nicola Nye
nicolan at fastmail.com
Fri Dec 16 15:47:00 EST 2016
Thanks Stephan!
I will fold your information into the FAQ as this is a topic which comes
up semi regularly on the list.
Nicola
On Fri, Dec 16, 2016, at 07:54 PM, Stephan Lauffer via Info-cyrus wrote:
> Hello!
>
> While testing 2.5 we struggled over (known) problems like this...:
>
> ...ssh can't fork process to run service imaps/ipv4: Resource
> temporarily unavailable
>
> I searchd... and I found your FAQ...
>
> https://cyrusimap.org/imap/faqs/o-toomanyprocesses.html
>
> ...and this "tcp_keepalive = 1" hint was doing a good job, but not
> fixing our problem completely. Less processes as without this setting
> but too many at all.
>
> Btw we have a murder with 5 backends and each has about 5k mboxes.
> With 2.4 we have about 400 imapd processes on the backends (in normal
> state) and about 800 on the proxy. Peaks raises this values for sure.
>
> But we still wasn't able to get over a limit of about 500 imapds on
> our new system which is running 2.5. Yesterday night I found our
> problem:
>
> SYSTEMD
>
> (and not cyrus-imapd-2.5, but 2.5 was running with systemd here...)
>
> I guess there may be more people out there which may be interested in
> a solition (we will add fixes to our systemd scripts of our suse bulds
> soon, see
> https://build.opensuse.org/package/show/home:nixda:devel/cyrus-imapd).
>
> The first problem there is:
>
> Systemd does not care about your /etc/security/limits.conf
>
> The second problem is:
>
> Systemd comes with a new limit called "TasksMax". You will find this
> limit f.e. in /etc/systemd/system.conf as "DefaultTasksMax=512". But
> you will NOT find this limit in "cat /proc/`cat
> /var/run/cyrus.pid`/limits".
>
> The solution is to add a file with a systemd override for this
> service. F.e. use the systemctl edit <sevice> command... (like
> "systemctl edit cyrus-imapd.service") or place a file in
> /etc/systemd/system/cyrus-imapd.service.d/override.conf with f.e.:
>
> [Service]
> TasksMax=2048
> LimitNOFILE=10000
>
> The LimitNOFILE is just a guess... maybe you may not need this here.
>
> After setting this override you will see a status information about
> your process count and limit like this:
>
> # systemctl status cyrus-imapd.service
> ● cyrus-imapd.service - The Cyrus IMAP and POP Mail Server
> Loaded: loaded (/usr/lib/systemd/system/cyrus-imapd.service;
> enabled; vendor preset: disabled)
> Drop-In: /etc/systemd/system/cyrus-imapd.service.d
> └─override.conf
> Active: active (running) since Thu 2016-12-15 20:51:17 CET;
> 12h ago
> Main PID: 12901 (master)
> Tasks: 326 (limit: 2048)
> [...]
>
>
> What about adding a short hint to your faq? Yes, it is not a cyrus
> problem. And yes, a sysadmin should know... but... I guess systemd in
> depth may not be good known as the old ulimit thing and if you are
> searching in the web 99% of the hits deal with ulimit.
>
>
> --
> Liebe Gruesse, with best regards
> Stephan Lauffer
>
> Pedagogical University Freiburg - Germany
> http://www.ph-freiburg.de/zik/
> Fon/ Fax: +49 761 682 -559/ -486
> ----
> Cyrus Home Page: http://www.cyrusimap.org/
> List Archives/Info: http://lists.andrew.cmu.edu/pipermail/info-cyrus/
> To Unsubscribe:
> https://lists.andrew.cmu.edu/mailman/listinfo/info-cyrus
> Email had 1 attachment:
> * smime.p7s 8k (application/pkcs7-signature)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.andrew.cmu.edu/pipermail/info-cyrus/attachments/20161217/55220ec4/attachment.html>
More information about the Info-cyrus
mailing list