Не может форк (для заданий cron), но ulimit и RAM выглядят нормально
Несколько заданий cron не выполняются, потому что ядро не может выполнить ветвление. Это происходит уже несколько недель (я думаю, с тех пор, как я обновился до Ubuntu 16, но, возможно, раньше).
Сообщения об ошибках
$ grep fork myscript.log
/usr/bin/groovy: 24: /usr/bin/groovy: Cannot fork
$ tail /var/log/syslog
Oct 19 14:25:01 nuc CRON[19939]: (CRON) error (can't fork)
Oct 19 14:25:01 nuc cron[719]: /usr/sbin/sendmail: Resource temporarily unavailable
Примечание: меня не волнует sendmail
в частности.
Информация об окружающей среде
ulimit -a
time(seconds) unlimited
file(blocks) unlimited
data(kbytes) unlimited
stack(kbytes) 8192
coredump(blocks) 0
memory(kbytes) unlimited
locked memory(kbytes) 64
process 999999
nofiles 999999
vmemory(kbytes) unlimited
locks unlimited
rtprio 0
cat / proc / sys / fs / file-nr
7936 0 793377
cat / proc / sys / kernel / pid_max
32768
HTOP
1 [||| 1.9%] Tasks: 196, 114 kthr; 1 running
2 [||||| 4.2%] Load average: 0.43 0.20 0.16
3 [| 0.7%] Uptime: 2 days, 18:22:08
4 [ 0.0%]
Mem[|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| 5.68G/7.62G]
Swp[||||||| 218M/3.82G]
uname -a
Linux nuc 4.4.0-21-generic #37-Ubuntu SMP Mon Apr 18 18:33:37 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
Другая важная информация
- В основном это происходит в cron. Когда я запускаю его в интерактивном режиме (обычно в
zsh
) работа работает нормально. - Я запускаю десятки отличных микросервисов (и каждый поток открывает свой дескриптор файла для каждого файла JAR).
- Я начал использовать Docker от отчаяния, но из-за этого становится все труднее увидеть, какие порты в настоящее время прослушиваются.