#ruby-on-rails #ruby #unicorn
Вопрос:
У нас постоянно увеличивается количество потоков diagnostic_context в каждом рабочем процессе Unicorn:
PID:23419 Has 21669 Threads. Process info: unicornworker[0]-c/etc/unicorn/web.rbproduction-D
PID:23422 Has 19681 Threads. Process info: unicornworker[1]-c/etc/unicorn/web.rbproduction-D
PID:23425 Has 22521 Threads. Process info: unicornworker[2]-c/etc/unicorn/web.rbproduction-D
PID:23428 Has 18545 Threads. Process info: unicornworker[3]-c/etc/unicorn/web.rbproduction-D
Вот некоторые из списков потоков для одного из рабочих:
PID SPID TTY TIME CMD
23422 23422 ? 00:02:29 ruby
23422 23424 ? 00:00:00 ruby-timer-thr
23422 27362 ? 00:00:00 diagnostic_con*
23422 27363 ? 00:00:00 diagnostic_con*
23422 27379 ? 00:00:00 diagnostic_con*
23422 27380 ? 00:00:00 diagnostic_con*
23422 27392 ? 00:00:00 diagnostic_con*
23422 27393 ? 00:00:00 diagnostic_con*
23422 27404 ? 00:00:00 diagnostic_con*
Увеличение TaskMax для Unicorn на данный момент является остановкой. Почему эти процессы порождаются и как мы можем предотвратить их появление в таком большом количестве?