Как увеличить количество открытых файлов на лимит процесса во FreeBSD 10.1?

У меня проблема с лимитом количества открытых файлов на процесс во FreeBSD 10.1-RELEASE. Чтобы доказать это, я делаю скрипт на python для генерации фиктивных файлов и открывал эти файлы. Скрипт доступен в

Чтобы сгенерировать файлы 1M, выполните команду

# mkdir -p /tmp/1
# python dummyFileGenerator.py -d /tmp/1 -n 1000000 -r 1

Затем загрузите все файлы

# python dummyFileLoader.py -d /tmp/1 -n 1000000 -r 1

Ошибка открытия файла после загрузки файлов 32766

retry openfile 32766
Traceback (most recent call last):
  File "dummyFileLoader.py", line 74, in <module>
  File "dummyFileLoader.py", line 59, in openfile
IOError: [Errno 24] Too many open files: '/tmp/1/00/00/7f/fd'

Я пытался изменить maxfile, но не решил

# sysctl -a|grep maxfiles
kern.maxfiles: 1000000
kern.maxfilesperproc: 1000000

# ulimit -a
cpu time               (seconds, -t)  unlimited
file size           (512-blocks, -f)  unlimited
data seg size           (kbytes, -d)  33554432
stack size              (kbytes, -s)  524288
core file size      (512-blocks, -c)  unlimited
max memory size         (kbytes, -m)  unlimited
locked memory           (kbytes, -l)  unlimited
max user processes              (-u)  6670
open files                      (-n)  58284
virtual mem size        (kbytes, -v)  unlimited
swap limit              (kbytes, -w)  unlimited
sbsize                   (bytes, -b)  unlimited
pseudo-terminals                (-p)  unlimited

Есть идеи по этому поводу?

1 ответ

Вы подтвердили, что python также видит правильные ограничения?

      import resource; 
print resource.getrlimit(resource.RLIMIT_NOFILE)
Другие вопросы по тегам