еще про Transmission и eCryptfs

В settings.json есть еще один полезный параметр способный защитить комп от самопожирания дисковыми запросами — peer-limit-global или в десктопной версии в настройках (GUI) Maximum peers overall.

Этот параметр ограничивает количество соединений с другими торрент клиентами и как следствие снижает фрагментацию записи или чтение файлов. На сервере ограничил тем же числом что и количество соединений на каждый торрент (peer-limit-per-torrent) т.е. 60. Методом тыка выяснено что это спасает однодисковый комп от зомбирования торрент клиента.

Тем у кого стоит мега RAID из 15 SAS дисков с пропускной в 200 мб/с думаю вообще ничего ограничивать не придется :)

Transmission & eCryptfs

Пользователи торрент клиента Transmission (да и многих других клиентов p2p) при попытке скачать файл большого размера в каталог зашифрованный eCryptfs получали чудовищную нагрузку диска, а затем сожравший 100% CPU процесс клиента, который, при попытке его прибить превращался в зомби.

Причина в большой фрагментации файлов скачиваемых через bittorrent, шифрованная файловая система не успевает за запросами на чтение и запись в разные части файла, получаются очереди которые в конечном итоге забивают весь обмен с диском и загружают CPU. Спасение из данной ситуации — кеш.

Начиная с версии 2.10 в Transmission появился параметр cache-size-mb с переменной по умолчанию — 2. Т.е. кеш равен 2 мб, что по нынешним меркам просто смешно, его и надо увеличить для стабильной и быстрой работы.

Итак, что делаем (на примере Ubuntu 10.10):

1. обновляем Transmission, добавив репозиторий со свежими версиями:

sudo add-apt-repository ppa:transmissionbt/ppa

sudo apt-get update

sudo apt-get upgrade

(если у вас сервер и нет add-apt-repository - поставьте его: sudo apt-get install python-software-properties)

2. Если Transmission обычны, десктопный - просто закрываем его. Если используется серверный transmission-daemon — останавливаем его:

service transmission-daemon stop

3. Открываем файл конфигурации, если серверный transmission-daemon:

sudo nano /etc/transmission-daemon/settings.json

Если обычный (внимание — тут sudo не нужно!):

nano .config/transmission/settings.json

4. Находим там строку «cache-size-mb»: 2, и меняем 2 на сколько не жалко памяти :) Лично я на сервере выделил половину ОЗУ — 512, на ноутбуке же всего 64 и похоже хватает. Напоминаю что выход из nano — Ctrl+x :)

и немного лирики, зачем все это нужно