Как связать 32-битную общую библиотеку (.so-файл )с 32-битным исполняемым файлом?

Я нашел способ получить доступ к более чем 4096 потокам.

Мой док-контейнер представляет собой образ centos7; для которого по умолчанию установлен лимит пользователей, равный 4096 процессам; как определено в/etc/security/limits.d/20-nproc.conf:

# Default limit for number of user's processes to prevent
# accidental fork bombs.
# See rhbz #432903 for reasoning.

*          soft    nproc     4096
root       soft    nproc     unlimited

при входе в мой докер-контейнер; Я добавил в ~/.bashrcкоманду ulimit -u unlimited, чтобы снять это ограничение для этого пользователя. Теперь я могу пробить этот потолок 4096.

Я не очень доволен этим решением; так как это означает, что мне нужно адаптировать все контейнеры, которые будут работать на докере -хосте , так как у каждого из них есть свой лимит; и поскольку я запускаю все команды сборки как пользователь 1001, кажется, что когда контейнер запрашивает, сколько потоков у него запущено; он "видит" все потоки всех контейнеров вместе; не только из его собственного экземпляра.

Я создал задачу в докере -для -linux github для этого:https://github.com/docker/for-linux/issues/654

0
16.04.2021, 14:02
1 ответ

Мы должны создать статическую библиотеку (, например.ar rcs libname.a lib.o)и свяжите его (, например.ld -melf_i386 -Llib -lname).

0
28.04.2021, 22:52

Теги

Похожие вопросы