Não é possível bifurcar (para tarefas agendadas), mas o ulimit e a RAM parecem bem

0

Vários cron jobs não são executados porque o kernel não pode ser bifurcado. Está acontecendo há semanas (acho que desde que fiz o upgrade para o Ubuntu 16, mas possivelmente mais cedo).

Mensagens de erro

 $ 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

Observação: não me importo com sendmail especificamente.

Informações sobre o ambiente

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 / arquivo-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

Outras informações relevantes

  • Isso parece acontecer principalmente no cron. Quando eu o executo interativamente (geralmente em zsh ), a tarefa é executada corretamente.
  • Estou executando dezenas de microsserviços groovy (e cada thread abre seu próprio identificador de arquivo para cada arquivo jar).
  • Comecei a usar o Docker por desespero, mas é mais difícil ver quais portas estão sendo ouvidas atualmente.
por Sridhar-Sarnobat 19.10.2017 / 23:29

0 respostas