Консультация № 180275
10.10.2010, 20:44
0.00 руб.
0 14 2
Привет
имеется NAS (WD mybook world edition ) , и имеется установленный на нём трансмиссион 204
так вот при закачке торрентов с большим колличеством файлов более ~50 в раздаче, она и другие активные раздачи выпадают в неактивные приходится их опять запускать
происходит это не сразу а через какое то время (без постоянных циклов)
выпадают в неактивные с ошибкой Unable to save resume file: Too many open files
помогите пожалуйста это побороть!!!

Обсуждение

Неизвестный
10.10.2010, 21:15
общий
это ответ
Здравствуйте, fragl!
Вероятно, жёсткий диск не выдерживает большую нагрузку и рано или поздно даёт отказ. Есть ли на Вашем диске порт FireWire и используете ли Вы его?
давно
Академик
20764
1861
10.10.2010, 21:30
общий
Артём Каримов:
Нет
Too many open files - совершенно недвусмысленная диагностика. Есть ограничение на количество файлов, которое может открыть процесс. В "десктопных" системах их по умолчанию 1024 и этого количества кое-кому действительно не хватает. На "железке" может быть и меньше. Этот параметр можно увеличить (до некоторых пределов с помощью ulimit, а потом изменив соответствующий параметр в ядре)
Только я не знаю, что за версия установлена в NAS и какой есть туда доступ.
Неизвестный
10.10.2010, 21:55
общий

ничо не понимаю
такие раздачи я качаю уже с одного пира !!! те возможно эта штука открывает всего несколько файлов 1~2 замечу мелкие файлы скачались остались крупные 500 и более мб
если рассмотреть вашу теорию о 1024 файлах почему стоит активно 5-20(по 3 пира на раздачу) невылетают а стоит завестись(1 й где фалов 50 в 1 пир ) и начилось
Код:

~ # ulimit
unlimited

~ # cat /proc/version
Linux version 2.6.24.4 (brian@dualla) (gcc version 4.2.4) #1 Tue Feb 10 11:00:22 GMT 2009



давно
Академик
20764
1861
10.10.2010, 22:24
общий
ulimit -a
что показывает ulimit по умолчанию я не знаю, но не количество файлов
Насчёт количества - считается всё - и файлы, и соединения, входящие и исходящие. Если на каждую из 50 закачек по 20 peers - уже 1050. Посмотрите список файлов:
ls -l /proc/PID-торрент-клиента/fd
У меня сейчас у торрент-клиента 4 неактивных раздачи и 35 открытых файлов
Неизвестный
10.10.2010, 22:31
общий
Код:
~ # ulimit -a
time(seconds) unlimited
file(blocks) unlimited
data(kbytes) unlimited
stack(kbytes) 8192
coredump(blocks) 0
memory(kbytes) unlimited
locked memory(kbytes) 32
process 1024
nofiles 1024
vmemory(kbytes) unlimited
locks unlimited
~ #

~ # ls -l /proc/4281/fd | wc -l
ls: /proc/4281/fd/327: No such file or directory
ls: /proc/4281/fd/428: No such file or directory
ls: /proc/4281/fd/688: No such file or directory
ls: /proc/4281/fd/748: No such file or directory
ls: /proc/4281/fd/797: No such file or directory
ls: /proc/4281/fd/798: No such file or directory
ls: /proc/4281/fd/803: No such file or directory
ls: /proc/4281/fd/856: No such file or directory
ls: /proc/4281/fd/957: No such file or directory
ls: /proc/4281/fd/972: No such file or directory
ls: /proc/4281/fd/973: No such file or directory
969
~ #


Неизвестный
10.10.2010, 22:33
общий
а вот я его вырубил
Код:
~ # ls -l /proc/4281/fd | wc -l
893
~ #
давно
Академик
20764
1861
10.10.2010, 22:52
общий
tcp disconnect происходит не сразу. Особенно когда дальний конец соединения не отвечает на пакеты.
Неизвестный
10.10.2010, 23:07
общий
согласен
выше 1024 цыфра не прыгает ,начинает вырубать раздачи с этой ошибкой
вопрос как с этим боротся ?
давно
Академик
20764
1861
10.10.2010, 23:17
общий
Код:
[root@pink ~]# ulimit -n
1024
[root@pink ~]# ulimit -n 2048
[root@pink ~]# ulimit -n
2048
[root@pink ~]# sh
sh-4.1# ulimit -n
2048

У каждого процесса ограничения свои, но они наследуются
Работает только от root
Но вообще-то лучше выставить ограничения в torrent-клиенте: на количество активных закачек/раздач и на количество peers на раздачу/закачку.
Неизвестный
11.10.2010, 00:04
общий
ладно СПАСИБО, покрутим, посмотрим =))
давно
Академик
20764
1861
13.10.2010, 22:23
общий
это ответ
Здравствуйте, fragl!
Оформляю "для архива" наше общение в мини-форуме ответа.
Too many open files - совершенно недвусмысленная диагностика. Есть ограничение на количество файлов, которое может открыть процесс. В "десктопных" системах их по умолчанию 1024 и этого количества кое-кому действительно не хватает. Этот параметр можно увеличить (до некоторых пределов с помощью ulimit, а потом изменив соответствующий параметр в ядре)
В это количество входит всё - и файлы, и соединения, входящие и исходящие. BИ если на каждую из 50 закачек приходится по 20 peers - это уже 1050 файлов.
У каждого процесса ограничения свои, но они наследуются от родительского процесса. Процесс может собственные ограничения изменить, правда в сторону увеличения - только root. Для этого существует системный вызов ulimit и встроенная команда в любом shell с таким же названием.
Вот демонстрация использования:
Код:
[root@pink ~]# ulimit -n
1024
[root@pink ~]# ulimit -n 2048
[root@pink ~]# ulimit -n
2048
[root@pink ~]# sh
sh-4.1# ulimit -n
2048

Но вообще-то лучше выставить ограничения в torrent-клиенте: на количество активных закачек/раздач и на количество peers на раздачу/закачку. Всё равно начиная с некоторого количества соединений скорость уже не растёт.
P.S. надеюсь, что количество файлов у вас увеличить получилось.
Неизвестный
14.10.2010, 09:11
общий
Хватов Сергей
помогло до 1ого ребута винта и опять количество открытых 1 процессом фалов сбросилось в дефалт
а увеличить временно получилось
давно
Академик
20764
1861
14.10.2010, 11:18
общий
А как у вас торрент-клиент при загрузке запускается? Вероятно, через скрипт в /etc/init.d? В него вызов ulimit и добавить надо.
Неизвестный
14.10.2010, 11:47
общий
так и сделаем , Спасибо ещё раз
Форма ответа