From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Sat, 20 Nov 2021 15:11:49 +0300 From: "Dmitry V. Levin" To: devel@lists.altlinux.org Message-ID: <20211120121149.GB27513@altlinux.org> References: <20211120115307.GA27513@altlinux.org> <97dfb53d-ed5d-3c8f-dbcf-d427646b9889@basealt.ru> MIME-Version: 1.0 Content-Type: text/plain; charset=koi8-r Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <97dfb53d-ed5d-3c8f-dbcf-d427646b9889@basealt.ru> Subject: Re: [devel] =?koi8-r?b?W0VybGFuZ10gz8fSwc7J3sXOycUgzsEgy8/Myd7F09TX?= =?koi8-r?b?zyDQz9TPy8/XINcg4czY1MU=?= X-BeenThere: devel@lists.altlinux.org X-Mailman-Version: 2.1.12 Precedence: list Reply-To: ALT Linux Team development discussions List-Id: ALT Linux Team development discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 20 Nov 2021 12:11:50 -0000 Archived-At: List-Archive: List-Post: On Sat, Nov 20, 2021 at 07:07:09PM +0700, Илья Курдюков wrote: > Почему в нормальных системах этот код возвращает 10000 с плюсом, а в > Альте 500 с чем-то? > > $ cat threadlim.c > #include > #include > #include > #include > > static void* test(void *data) { while(1) sleep(1); return NULL; } > > int main() { >     int i, err = 0; >     pthread_t t; >     for (i = 0; !err && i < 100000; i++) >       err = pthread_create(&t, NULL, test, NULL); >     printf("i = %d, err = %d\n", i, err); >     exit(0); > } > $ cc -O2 -pthread threadlim.c && ./a.out > i = 507, err = 11 > > ulimit -u стоит по умолчанию на 512 и не даёт поставить выше 1000: > > $ ulimit -u > 512 > $ ulimit -u 1000 > $ ulimit -u 1001 > -bash: ulimit: max user processes: не удаётся изменить ограничение: > Операция не позволена > > Эти ограничения с начала времён не меняли? Это очень похоже на настраиваемые лимиты со значениями по умолчанию, определёнными в /etc/security/limits.d/50-defaults.conf > http://git.altlinux.org/gears/e/erlang.git > > Почему в спеке Erlang делаются костыли с уменьшением количества потоков, > вместо того, чтобы наконец исправить устаревшие лимиты в Альте? Пакет должен собираться с любым разумным значением RLIMIT_NPROC, а не только с авангардным. -- ldv