Форум русскоязычного сообщества Ubuntu


Хотите сделать посильный вклад в развитие Ubuntu и русскоязычного сообщества?
Помогите нам с документацией!

Автор Тема: Transmisson: Cлишком много открытых файлов  (Прочитано 3856 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Pershin

  • Автор темы
  • Гость
Transmisson: Cлишком много открытых файлов
« : 25 Сентября 2012, 00:44:29 »
Здравствуйте. В Bit-torrent клиенте Transmisson у меня всего 139 торрентов (правда парочка из них составляет паки по 100 файлов), а transmisson уже отказывается работать одновременно со всеми: "слишком много отрытых файлов". Собственно, интересует, где и что надо изменить.
В GUI-настройках самого Transmisson (Правка->Параметры) уже всё сделал, что можно - там нужного мне параметра нет. В /home/user/.config/transmisson/ тоже не нашёл.

Pershin

  • Автор темы
  • Гость
Re: Transmisson: Cлишком много открытых файлов
« Ответ #1 : 27 Сентября 2012, 01:14:50 »
Кое-что нашёл
Говорят, что можно изменить предел открытых файлов одним процессом вот такими командами:
[root@pink ~]# ulimit -n
1024
[root@pink ~]# ulimit -n 2048
[root@pink ~]# ulimit -n
2048
[root@pink ~]# sh
sh-4.1# ulimit -n
2048

Однако этот код не работает абсолютно. Во-первых, значение ulimit -n сбрасывается после перезапуска терминала. Я сначала подумал, что оно и должно действовать в рамках только одной сессии. Но нет - не работает даже там. Меняю ulimit -n, следующей командой запускаю transmission-gtk параллельно мониторю ls -l /proc/TRANSMISSION-PID/fd | wc -l в соседнем терминале.
Минут через 20 (клиенту нужно время на "разогрев": набор сидов и пиров) число достигло 1025 (не 1024) и застыло, и в ту же секунду в первом терминале посыпались те самые ошибки Unable to save resume file: Too many open files.
Так где же по-настоящему изменяется предел открытых файлов?
cat /proc/TRANSMISSION-PID/limits

Limit                     Soft Limit           Hard Limit           Units   
Max open files            1024                 4096                 files
То есть, ещё есть куда "расти". Нужно лишь поднять этот soft limit. Но как?

Оффлайн ArcFi

  • Старожил
  • *
  • Сообщений: 15189
    • Просмотр профиля
    • aetera.net
Re: Transmisson: Cлишком много открытых файлов
« Ответ #2 : 27 Сентября 2012, 01:40:49 »
Так попробуйте:
bash -c 'ulimit -n ... ; transmission-gtk'
« Последнее редактирование: 27 Сентября 2012, 22:47:58 от arcfi »

Pershin

  • Автор темы
  • Гость
Re: Transmisson: Cлишком много открытых файлов
« Ответ #3 : 27 Сентября 2012, 02:10:34 »
Попробовал bash -c 'ulimit -n 2048 ; transmission-gtk'Всё то же. ls -l /proc/TRANSMISSION-PID/fd | wc -l достигает 1025, после чего сыплются те самые ошибки на половине торрентов.

Оффлайн ArcFi

  • Старожил
  • *
  • Сообщений: 15189
    • Просмотр профиля
    • aetera.net
Re: Transmisson: Cлишком много открытых файлов
« Ответ #4 : 27 Сентября 2012, 08:40:51 »
/etc/security/limits.conf
?

Pershin

  • Автор темы
  • Гость
Re: Transmisson: Cлишком много открытых файлов
« Ответ #5 : 27 Сентября 2012, 22:25:15 »
(Нажмите, чтобы показать/скрыть)
Добавил одну строчку в конце, как видите. Возможно добавил неправильно и/или не всё - прошу проверить.
После правки этого файла проверил ulimit -n (оказалось по-прежнему 1024) и ввёл ulimit -n 4096.

Кое-какой эффект уже есть. Теперь моё ulimit -n 4096 прочно закрепилось в системе, и уже не сбрасывается после перезапуска терминала.
Однако по-прежнему
cat /proc/TRANSMISSION-PID/limits

Limit                     Soft Limit           Hard Limit           Units   
Max open files            1024                 4096                 files
и по-прежнему вылетают ошибки при достижении числа открытых файлов отметки 1025.

Оффлайн ArcFi

  • Старожил
  • *
  • Сообщений: 15189
    • Просмотр профиля
    • aetera.net
Re: Transmisson: Cлишком много открытых файлов
« Ответ #6 : 27 Сентября 2012, 22:46:18 »
Немного поэкспериментировал...
$ ulimit -n 4096 ; transmission-gtk & grep 'open files' /proc/$(pgrep transmission)/limits
[1] 4264
Max open files            4096                 4096                 files

Pershin

  • Автор темы
  • Гость
Re: Transmisson: Cлишком много открытых файлов
« Ответ #7 : 28 Сентября 2012, 00:11:33 »
Повторил ваш эксперимент. Какая-то мистика, честное слово!

$ ulimit -n 4096 ; transmission-gtk & grep 'open files' /proc/$(pgrep transmission)/limits
[1] 11625
Max open files            4096                 4096                 files     
$ grep 'open files' /proc/$(pgrep transmission)/limits
Max open files            1024                 4096                 files   

Оффлайн ArcFi

  • Старожил
  • *
  • Сообщений: 15189
    • Просмотр профиля
    • aetera.net
Re: Transmisson: Cлишком много открытых файлов
« Ответ #8 : 30 Сентября 2012, 17:40:35 »
После модификации /etc/security/limits.conf перезагружались?
Попробуйте в качестве <domain> имя своего пользователя.

Вообще, странно...
[arcfi@arcfi-laptop ~]$ pkill transmission-gtk ; ulimit -n 4096 ; transmission-gtk & sleep 2 ; grep 'open files' /proc/$(pgrep transmission)/limits
[1] 17810
Max open files            4096                 4096                 files     
[arcfi@arcfi-laptop ~]$ sleep 10 ; grep 'open files' /proc/$(pgrep transmission)/limits
Max open files            4096                 4096                 files
У меня это работает даже без правки /etc/security/limits.conf.

Pershin

  • Автор темы
  • Гость
Re: Transmisson: Cлишком много открытых файлов
« Ответ #9 : 03 Октября 2012, 16:14:18 »
Сделал, всё бестолку.

 

Страница сгенерирована за 6.763 секунд. Запросов: 25.