Мне нужно более 9990 дескрипторов файлов, созданных timerfd_create для приложения на основе событий, и получить EMFILE «слишком много открытых файлов».timerfd_create производит Слишком много открытых файлов error
Так я приспособил обычные параметры и ограничения:
sys.fs.file-макс является +1000000 поэтому широкий предел система не должна быть проблемой. sys.fs.nr_open - 1048576, поэтому мое сравнительно большое значение file-max должно считаться действительным. Лимит пользователя в лимитах .conf равен 1000000, и это подтверждается ulimit -n, который показывает 1000000.
Что мне не хватает?
Это на 2.6.32-5-amd64 ядро работает внутри VirtualBox наверх Windows XP на ICORE 7.
EDIT: обидное. Я связываюсь с некоторым кодом, который делает setrlimit этого значения более низким значением ... поэтому я сам снижаю лимит на процесс. Обнаружил это случайно - подсказка может быть полезной для других.