From 2643c085a0970d8d8bc3471cb5c294ba8b09fee8 Mon Sep 17 00:00:00 2001 From: Sergey Matveev Date: Sun, 27 Nov 2022 10:25:41 +0300 Subject: [PATCH] =?utf8?q?=D0=9F=D0=B5=D1=80=D0=B2=D0=B0=D1=8F=20=D0=BF?= =?utf8?q?=D0=BE=D0=BF=D1=8B=D1=82=D0=BA=D0=B0=20=D1=8D=D0=BA=D1=81=D0=BF?= =?utf8?q?=D0=BB=D1=83=D0=B0=D1=82=D0=B0=D1=86=D0=B8=D0=B8=20BitTorrent=20?= =?utf8?q?=D0=BA=D0=BB=D0=B8=D0=B5=D0=BD=D1=82=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit https://github.com/anacrolix/torrent/issues/769 ... провалилась. Процесс грохнулся с SIGABRT, потому что runtime не смог создать новый тред: Resource temporarily unavailable. kern.threads.max_threads_per_proc у меня выставлен в 1500 по умолчанию, а процесс после запуска уже ~1300 имеет тредов. Есть даже заведённый issue на это, где автор говорит про исчезновение проблемы при использовании mmap-based storage. Попробовал -- действительно, тредов стало меньше сотни и не растёт. Но... у меня же ZFS, а mmap на ней использовать не гоже. Page cache для mmap-а отъедает память, не смотря на то, что копия данных всё равно имеется в ARC-е ZFS. В итоге использование памяти моим процессом стремительно растёт, вытесняя ARC. А так как это торренты, то память будет использоваться под завязку, нивелируя кэш ZFS. В общем, или увеличить max_threads_per_proc (что я уже и сделал чтобы продолжало работать) или ограничивать количество соединений. -- 2.50.0