|
тыщ
Стаж: 16 лет 6 месяцев Сообщений: 1427
|
тыщ ·
17-Май-08 17:38
(16 лет 6 месяцев назад, ред. 28-Дек-17 18:07)
#0.1. Это сообщение появляется в нижней статусной строке utorrent
Оно всего лишь сигнализирует о нежелательном состоянии обмена клиента с диском
Исходная формулировка "Disk overloaded" часто вызывала у пользователей тревогу о состоянии своего оборудования и данных. "Уточнённая" формулировка троек "Disk Cache overloaded" не успокоила и не добавила понимания. Чёрный юмор в том, что практически одновременно с запоздавшим уточнением "Cache" сообщение о перегрузке (вернее disk congestion logic) стало включено и при выключенном собственном кэше уже в µT3.0.24520 (3.02.2011г), так что можете гадать, относится ли это уточнение к собственному кэшу клиента или к кэшу Windows, не отключаемому после µT3.1.3.27498. Но лучше не гадать вовсе) Возможно, в тройках стоило бы перейти к формулировке "Очередь диска чрезмерна".
Пусть disk congestion logic не во всех версиях работала в едином ключе, так или иначе обсуждаемое сообщение появляется при достаточно длительном превышении необходимой скорости чтения/записи с/на диск, требуемой сетевым обменом или собственным кэшем клиента, над реальной, при чём в силу самостоятельности оценки состояния клиентом диск иной раз может быть существенно недогружен в действительности. Достаточно = достаточно для переполнения собственных кэша, очереди и т.п. Начинайте чтение со спойлера "#0.4. FAQ-путеводитель", ознакомившись с названиями пунктов и спойлеров.
Искать по ключевым словам в большом сообщении вроде этого со множеством спойлеров удобно, открыв их все разом. Для этого откройте любой из них, удерживая клавишу [⇧Shift] на клавиатуре. Торренты, винты, кэширование
#0.2. Глюки, баги, чудеса, сомнительные новшества - иногда они возвращаются
Баги 3.4.1.
В многопоточном µT3.3 сбросить застрявшие данные из кэша записи можно включением опции "Выгружать из кэша записи нетронутые блоки каждые 2 минуты". Ну, может 2 минуты придётся подождать)
В µT3.3.1 этот баг исправили. Глюк 3.1.2, 3.1.3, 3.2 beta при частичном скачивании см.в п.7 спойлера #0.5 про память.
Вполне возможно, этот глюк связан или усугубляется следующим глюкофичей. Глюкофича! Наличие больших part-файлов активных раздач могут вызывать "волнообразную" отдачу (подвисания раздач) и сообщение о перегрузке диска. Обещали исправить это в µT3.3 (исполнено в 3.3 beta (build 28763) от 16.12.2012), затем портировать в 3.2.
#0.2.1. Подробнее
µT подвисает, читая индексы в part-файлах микроскопическими кусочками по 4 байта, а у больших раздач part-файл может достигать размера сотен мегабайт.
Соответствующая тема оф.форума - utorrent rapes HDD with 4 byte reads/4k writesutorrent rapes HDD with 4 byte reads/4k writes.
Для записи, заявляют, баг недавно исправлен:
Цитата:
-- 2012-08-08: Version 3.2.1 Beta 2 (build 27718)
- Fix: don't write the block list in a part file in 4-byte increments
[Обкатано ранее в 2012-06-29: Version 3.3 alpha (build 27541)]
Версии не столь молодые остаются подверженными. Для чтения - заявлено исправление
- Fix: optimize part file read pattern
в версиях начиная с 3.3 beta (build 28763) от 16.12.2012 и 3.4 alpha (build 28762) от 14.12.2012.
Рекомендую столкнувшимся проверять остановкой раздач с (большими?) part-файлами.
!
#0.2.2. В µT3.2-3.4 (BT...-7.9) по умолчанию включено виндовое кэширование записи (и чтения)
Выпукло обнаружил это в µT3.3, искусственно спровоцировав неудержимый рост собственного кэша записи. Системный кэш WinXPsp3 синхронно рос и резко уменьшался при сбросе собственного кэша.
Загрузить последний билд (build 27498) версии 3.1.3 stable с явной возможностью выключения Windows-кэширования пока можно из официальной темы. Если ссылка на закачку испортится, всегда можно будет скачать с сайта oldapps.
Возможность отключения Windows-кэширования записи осталась в settings.dat, где она представлена в виде cache.disable_win_write (i)= 1 (0 - Win-кэширование записи используется, запись при этом исчезает (удаляется), 1 - Win-кэширование записи не используется) и доступна через Bencode Editor - Item - Add, например.
Аналогично cache.disable_win_read (i)= 1 отключает Win-кэширование чтения для µT.
То, что первое осталось у меня с каких-то ранних билдов µT3.3-3.4, а не приплыло от версий ранее µT3.2 (ну, может от µT3.4 остался, µT3.4 точно настраивался с нуля), подтверждается отсутствием второго. Однако уже у µT3.3.1.29594 записи типа cache.disable_win_* сами собой не появляются - требуется ручное добавление.
Так или иначе - действенность проверяйте. Где смотреть.
Реакцию на cache.disable_win_write проверяем сопоставлением объёмов записанного "В файл/To File" статистики диска с ростом кэша системы в диспетчере задач.
Реакцию на cache.disable_win_read проверяем сопоставлением объёмов считанного "Из файла/From File" статистики диска с ростом кэша системы в диспетчере задач.
Собственно, заранее можно предположить уважение упомянутых опций билдами до 27498 (соответствует последнему 3.1.3_build_27498, имеющему явные чекбоксы отключения кэширования Windows в настройках кэширования клиента).
Список проверенных хорошистов.
C cache.disable_win_write (i)= 1 и cache.disable_win_read (i)= 1 кэш ОС не растёт или растёт существенно менее роста в Статистике диска объёмов записанного "В файл/To File" (проверенные молодцы µT3.2.0. 27026, 3.2.0.268883), считанного "Из файла/From File" (проверенные молодцы µT3.3.0. 27150, 3.2.0.27026).
Список проверенных плохишей.
3.3.2.29721 игнорирует добавление cache.disable_win_write (i)= 1. Иллюстрация роста системного кэша.
3.3.1.29938 вроде тоже.
3.2.0.27503, 3.2.3.28705, 3.4.29998 также игнорируют добавление cache.disable_win_write (i)= 1.
Ну, предложу поэкспериментировать с отключением кэша записи клиента, если системное кэширование отключить не сумеете или нельзя.
Исходя из той же нежелательности дублирования кэшей (перекидывания данных в пределах ОЗУ) предложу попробовать отключить собственное кэширование чтения клиента.
#0.3. Объявления (новых нет давненько)
Экспериментаторам-камикадзе - Download the new BETA version now! Появился тестовый билд 3.4.1(30606), так называемый Disk Congestion Build for users experiencing "Disk Overloaded" issues.
Ещё пробный билд 3.4.1(30662) не для всех, на этот раз для старых процессоров с SSE и с улучшенным отображением Unicode в WebUI .
SSE Build (>= Pentium III, Athlon XP)
If you have an old CPU please try this 3.4.1 (30662) build and let us know how it goes for you. When replying please make sure to include the build number and what CPU you are running it on.
Changelog
- Change: (revised) Support SSE processors and up.
- Fix: Better handling for unicode strings in the WebUI
Download: http://download-lb.utorrent.com/uuid/a1088c89-c60d-43cd-9f41-26e4ce31aa53
--- Полностью переписанный клиент теперь работает с дисками несколькими потоками; об альфах-бетах µT3.3.1, µT3.3.
"Стабильная" версия µT3.3.0 - ниже. µT3.3.1 - исправление µT3.3 и скрещивание с тихим автообновлением µT3.4, для правильной установки µT3.3.1 придётся деинсталлировать µT3.4.
Known Issues:
- Please remove updates.dat and updates directory or uninstall and remove settings before installing 29525.
- Updating from build 29438 may cause the client to crash. Please uninstall 29438 and install this version.
- Adding a single-file magnet link with "Add Torrent" dialog turned off: file is placed in a subdirectory
- Sometimes a file is allocated for a file that is selected to not download
- Rate limiter issue fix will be in next build.
#0.3.1. Changelog µT3.3.1 <выборочно>:
--2013-04-05: Version 3.3.1 (build 29472)
- Fix: bland add on time for rss feed entry.
- Fix: Skipped file allocation
- Fix: Crash toggling disk write coalescing settings
- Fix: Fixed/improved peer choaking/unchoking.
- Fix: Use unique keyboard accelerator for "Set Destination Name" --2013-03-29: Version 3.3.1 (build 29438)
- Known issue:Temporary change to autoupdate dialog (beta only)
- Increase magnet link size limit
- Adjust "Corked jobs text"
- Removed unused settings
- Fix peer unchoking bug / speed up some swarms
- Fix: Don't create skipped files on disk for files we are not downloading
- Added a progress dialog for manual updates
- "Added On" time was sometimes blank for RSS feed entries --2013-03-11: Version 3.3.1 (build 29301)
- Fix bug: Incorrect directory if wndaddpre is disabled --2013-02-26: Version 3.3.1 (build 29213)
- Change: Add new 'related' tab containing new torrent metadata --2013-02-21: Version 3.3.1 (build 29163)
- Fix: Rss will only download items with urls which are magnets or ending in .torrent
- Change: Update main utorrent icon --2013-02-19: Version 3.3.1 (build 29148)
- Fix: Occasional crash sending more than 15 comments
- Fix: Inactive memory leak
- Fix: Crash when updates.dat is removed
- Fix: Remove data when "Delete .torrent + Data" is selected
- Fix: Shutdown/restart after downloads complete records torrent state more reliably
- Fix: gdi leak in add torrent dialog and devices pane
- Fix: remove torrent dialog, default to 'ok' --2013-02-11: Version 3.3.1 (build 29105)
- Change: Merge in silent auto-update code
- Fix: fix flushing of completed pieces immediately
- Fix: gdi leak when resizing window
- Fix: fix disk flushing not being triggered every time it should be
µTorrent 3.3 Stable
Download the new STABLE version here
µTorrent 3.3: Performance and streamlining headline list of improvements
µTorrent 3.3 gets a dramatic rewrite to its disk i/o, which means noticeable performance gains in multi-tasking. For example, you can delete files from a torrent or move torrents to a new location, but without the usual slow-down in torrent downloading. Or, download torrents to two different drives, but with the speed of downloading to a single drive <почему не больше?!! лучше б промолчали>. You'll notice gains at both low and high speeds, and whether you're writing to local disk, a RAID or a network drive. You'll also experience improvements to the disk subsystem and rate limiter. Next, we streamlined µTorrent features by eliminating underused and non-core features, including Apps and Find Content, the dual list view and the "getting started" tab. Finally, we made a few bug fixes including a fix that noticeably speeds up the rendering of magnet links.
µTorrent 3.3 alpha.
Release highlights: Disk I/O system completely rewritten. Now multi-threaded and high performance. It will take advantage of multiple disks, perform better with even just one, and no one disk job can block everything (e.g slow network blocking local I/O, or allocating files)...
#0.3.2. Changelog µT3.3 <выборочно>:
--2013-03-27: Version 3.3 stable (build 29420)
- Fix: Skipped file allocation --2013-02-15: Version 3.3 stable (build 29126)
- Fix: gdi leak in add torrent dialog and devices panel
- Fix: fix flushing of completed pieces immediately
- Fix: fix disk flushing not being triggered every time it should be --2013-02-07: Version 3.3 stable (build 29082)
- Fix: DHT announce performance issue corrected ^^^^^^^^^^ Stable <- Beta vvvvvvvvvvvvv --2013-01-28: Version 3.3 (build 28993)
- Fix: disk write coalesce issue --2013-01-24: Version 3.3 (build 28965)
- Fix: disk flushing issues --2013-01-15: Version 3.3 beta (build 28918)
- Fix: Metadata downloads taking too long
- Fix: Reduce time to flush disk jobs --2013-01-11: Version 3.3 beta (build 28910)
- Fix: stack smash bug in DHT --2013-01-10: Version 3.3 beta (build 28893)
- Fix: Prevent automatic recreation of parent directories on filestorage writes when directory goes away (eg: drive unmounted)
- Fix: assert/crash in header accelerator when torrent goes in to error state
- Fix: might fix the crash of assert(_next_check_piece >= _num_checking_active)
- Change: bigger average writes by making the job list a priority heap --2012-12-26: Version 3.3 beta (build 28830)
- Feature: optimize DHT lookup times
- Fix: minor memory leak when distributed cache is enabled --2012-12-16: Version 3.3 beta (build 28763)
- Fix: optimize part file read pattern Для чего - см.спойлер #0.2. Глюки, баги, чудеса
- Fix: Maintain upload rate limit when download limit is turned off -2012-11-21: Version 3.3 alpha (build 28582)
- Fix: coalesce writes from cache to disk -- 2012-06-29: Version 3.3 alpha (build 27541)
- Fix: don't write the block list in a part file in 4-byte increments -- 2012-06-19: Version 3.3 alpha (build 27454) [а может и раньше на пару билдов - не обратил внимание сразу]: Наконец-то средний блок записи "в файл" стал больше среднего блока записи "в кэш", пока раза в 3 всего лишь, если повезёт, - хотелось бы ближе к размеру части. bt.sequential_files, bt.sequential_download работают, но не влияют на средний размер блока записи. -- 2012-05-02: Version 3.3 alpha (build 27150)
- Change: rewritten, multithreaded disk i/o
- Fix: Account for cache space before and after writes.
- Change: Files in a torrent now become read-only while seeding.
- Change: Added advanced feature: diskio.quick_hash
- Change: clean up semantics around download location. The download location is now the root folder, independent on multifile torrent or not
- Feature: Display allocating status of torrents
- Change: Increase supported torrent (total files) size from 1TB to 17TB.
Имейте в виду - при всей положительности многопоточности µT3.3 может плохо кэшировать, в µT3.3.1 с этим получше.
Эффективность кэширования чтения может быть (и даже характерна для альфа) 0.3-0.5 [обычно для µT - 0.7..0.8, в мечтах же 1.0 и более - видел такое однажды].
Может записывать "в файл" средним блоком много меньшим, чем часть. Это отчасти компенсируется тем, что в µT3.3 по умолчанию включено виндовое кэширование.
Увеличить эффективность собственного кэширования записи можно отключением сброса кэша опциями (снять галки)
Выгружать из кэша нетронутые блоки каждые 2 минуты,
Выгружать из кэша завершённые части немедленно
и доп.настройкой
diskio.flush_files = *false,
а также кратным увеличением diskio.coalesce_write_size (до 33554432, например).
Сообщение о перегрузке в 3.3 всё ещё возможно.
#0.4. FAQ-путеводитель (пока не полон, но обязателен для прочтения)
В. Какие скорости скачивания клиентами µT/BT достижимы с обычными HDD?
О. Расчёт возможностей одиночного жёсткого диска: какие скорости скачивания клиентом он способен обслужить.
Практика подтверждает возможность скачивания с помощью µT со скоростями до 75-100 МБайт/с на гигабитном интернет-канале. В? Не желаю/ не могу/ не в состоянии осилить тему/пост/заумные слова/буквы. Ответьте персонально мне личным сообщением/ мылом/ прямо здесь просто и понятно для нубов/ламеров, на пальцах, по пунктам и с картинками, какие и где настройки надо поменять чтобы проблема исчезла.
О. С подобными требованиями лучше обратиться к разработчикам, что-то они за долгие годы не придумали и не поменяли волшебные настройки своего детища. Если же вы найдёте таковые - немедленно сообщите им. Проведите эксперимент (только не считайте его решением!): загляните в Настройки - Кэширование, отключите собственное кэширование клиента (т.е.снимите пару выдающихся влево галок нижнего блока "Дополнительно", обведенного прямоугольником). Пример.
Сообщение "Диск перегружен" пропало? - Что ж, вы совершили сразу два важных открытия:
мерзкое сообщение жёстко связано с собственным кэшированием (уходит с его отключением),
шире - с самим клиентом µTorrent/BitTorrent (забывается навсегда с радикальной сменой клиента на любой другой, хотя бы потому что просто не предусмотрено).
Если захочется похвалить этот простой порошок "любой" клиент, сделайте это в соответствующей теме, не здесь. Здесь вам не укажут всех существенных недостатков вашего выбора, эта тема совсем о другом.
Примечание. 2.0.X-2.2.X не позволит отключить собственный кэш записи снятием галки в соответствующем чекбоксе, а с 3.0.24520 (3.02.2011г) сообщение о перегрузке включено и при выключенном собственном кэше:
- Feature: enable disk congestion logic when disk cache is turned off.
Нежелающим вникать сразу предложу вернуться на устраивавшую ранее версию, попробовать рекомендованные версии/клиенты.
Здесь нет универсальных решений, разработчики не предоставили возможностей для этого, их метания не оставляют особого оптимизма на будущее. Здесь вы всего лишь найдёте самый полный набор фактов, наблюдений, всевозможных заклинаний и бормотаний, способных вынести неокрепший мозг, прежде чем вы нащупаете правильные, доставляющие облегчение или объясняющие, почему его нет. Главное отличие от других - вменяемость.
Правильно оценивайте свои силы, не обижайтесь, если их не хватит)
Гарантирую - механическим наскоком не обойдётесь, однократным - тоже. Зато вы сможете многое узнаете о дисках, торрентах, кэшировании, возможностях наблюдения, если, конечно, вам интересно всё это. В. "Диск перегружен" - что за напасть?
О. Речь вовсе не о свободном месте на диске или непосильной работе, взваленной на беднягу, а о том, что винт не поспевает за собственным кэшем µT.
Подробнее см.в спойлере #0.6 "Чем грузятся диски. Почему возникает сообщение, соответствует ли оно реальной перегрузке". Принципиально узкие места µT, из-за которых не получается забыть о сообщении. Полную же ясность можете попытаться выбить из разработчиков)
Разработчик писал(а):
Что означает надпись "Диск перегружен" в строке состояния?
Это значит, что диск не успевает обрабатывать подаваемые/запрашиваемые данные. Это обычное поведение при первом запуске большого торрента, поскольку перед записью Windows необходимо создать файл.
http://www.utorrent.com/intl/ru/help/faq/errors В. Вот раньше с другим тарифом/провайдером/версией, а теперь...
О. Необходимый размер кэша [лузера], способного проглотить прописывание нулей без сообщения "Диск перегружен", одновременно пропорционален размеру закачки и скорости скачивания (т.е. пропорционален вашим аппетитам и возможностям) и бодро растёт, пока не превысит фактически заданный или станет физически неосуществимым - см.соотношения спойлера #0.7.1 "Перегрузка диска при скачивании". В. Что б такое простое поправить, не особо углубляясь, чтобы с большой вероятностью убрать сообщение о перегрузке в начале скачивания.
О. Собственно, для этого следует избавиться от прописывания нулей при создании файлов-заготовок закачки...
- В случае Win7+ попробуйте запускать клиент в режиме совместимости с WinXP. (Успехи: подборка, 1, 2.)
Пару лет эта рекомендация попахивала эзотерикой и болталась среди вспомогательных мер и приёмов, пока не выяснился механизмы работы. Оказывается, в стандартную базу совместимости программ Win7+ для режимов совместимости с 95/98/ME/XP добавлен AdditiveRunAsHighest. Вот и причина запуска с правами админа, даже если не ставилась галочка "выполнять эту программу от имени администратора".
Теперь эта рекомендация перемещена на первое место. Если она сработает, 4 последующие рекомендации второй раз прописывание нулей не устранят, но их чтение поможет оценить первую)))
- Достаточно запускать клиент от имени администратора. К сожалению при этом придётся сохранять и вручную запускать торрент-файлы, т.к. автоматическое добавление торрента работать не будет (аккуратное решение несколькими строками ниже).
Причём в случае Win7,8 одной лишь административной учетной записи не обойдётесь, так как при включенном UAC абсолютно все задачи по умолчанию запускаются с правами обычного пользователя.
Кстати, в Win7+ автозапуск от администратора - через планировщик, обычный автозапуск не работает - так M$ заботится о вашей безопасности))
- Или проверить/обеспечить право на обслуживание томов (спойлер #2.2). В Win7,8 при включенном UAC это не удаётся.
- Или отключить UAC (безопасность обеспечивайте иными способами). Если ваш аккаунт не входит в группу администраторов, ещё надо будет обеспечить право на обслуживание томов.
- Аккуратное решение для ОС, следующих за WinXP, найдёте в переводной статье Выборочное отключение контроля учетных записей (UAC) для проверенных приложений...
Microsoft Application Compatibility Toolkit позволяет селективно отключить UAC для клиента, запускать клиент с правами администратора и добавлять торренты обычным образом без лишних предупреждающих окошек - см. пост прошедшего этим путём и дополнительные ссылки к нему.
Вообще, необходимо проверить прописывание нулей - см.тройку спойлеров п. 2. Другие настройки клиента.
Если вы не выполнили элементарной проверки на прописывание нулей и не доложили о её результатах, не удивляйтесь, что ваши жалобы останутся без ответа при малейших угадываемых в них намёках на это самое прописывание.
- Эрзац-решение заключается в дополнительной настройке diskio.sparse_files = *true, т.к. в случае использования разреженных (sparse) файлов прописывания нулей нет. Однако эта настройка бессильна в случае неадминистраторского аккаунта с дисковой квотой, не работает с pre-allocate all files = *true, а также с FAT*, и чревата значительной фрагментацией (см. пример) - получается фарш из записанных встык скачанных непоследовательно частей закачки.
Полагаю, последовательное скачивание единственной закачки (спойлер #2.4) поможет бороться с этим, но в случае нескольких одновременных - получите фарш из записываемых цельных фрагментов этих закачек.
Забавно, разработчики в минуту отчаяния включали diskio.sparse_files по умолчанию.
Цитата:
-- 2011-11-22: Version 3.1 Release Candidate 1 (build 26495)
- Change: enable windows disk cache for writes by default. Improves write performance, especially with sparse files
- Change: enable sparse files by default on win7 (disabled on vista because of filesystem bugs). This should fix most disk-overload issues
Если вы на win7 в клиенте билда >26495 не видите true по умолчанию для diskio.sparse_files, значит разработчики не сочли-таки это удовлетворительным решением.
Таки снова включили в 3.4.9. Что ж, выключайте, если не имеете специальной идеи по этому поводу.
- Другой путь, не решающий, а лишь слегка отодвигающий переполнение кэша, - сдаться и позволить расти кэшу записи, ограничив его очень большим значением (больше 1800МБайт не следует), для оценки достаточного размера можно воспользоваться соотношениями спойлера "#0.7. Перегрузка диска при скачивании".
Как правило эта полумера при скачивания больших (в смысле соотношений спойлера #0.7.1. ) файлов не обходится без подпорок в виде сдерживания (ограничения скорости, числа пиров и т.д., и т.п.) или периодического останова скачивания /перезапуска клиента. Добавьте риск нехватки ОЗУ и вытеснения собственного кэша на диск: никого не радуют лаги и затыки, когда свежеполученные данные оказываются в своп-файле на другом диске, а то и в другом месте диска назначения (как минимум обеспечен затык до освобождения ОЗУ, если не зависание со всеми вытекающими). И весь этот "геморрой" из-за того, что кто-то не сумел отключить зануление. Это "Путь/Дао Лузера"))) Избегайте его, используйте только в редчайших безвыходных случаях и с пониманием ущербности. Таки имеется пара исключений.
1° На разделах FAT32 не удаётся избавиться от зануления. Невелика беда: и при наличии интернет-канала 100Mbit ограничение FAT32 на размер файла 4ГБайт позволяет скомпенсировать кэшем 1600Мбайт даже зарезанную до USB2.0 скорость HDD. А если канал меньше 100Mbit или скорость записи на диск больше USB2.0, компенсационный размер кэша пропорционально меньше.
2° При наличии гигабитного интернет-канала можно использовать гигантский кэш для демпфирования колебаний нагрузки диска сторонними приложениями.
- Можно также попробовать заменить собственное кэширование записи на виндовое в настройках µT (особенно в случае 3.2-3.4 с уже неотключаемым Win-кэшированием). В. Неужели больше ничего нельзя предпринять кроме как избавиться от прописывание нулей? Ведь не единственная это причина, да и инструментов хотелось бы побольше.
О. Вспомогательные меры/приёмы:
- bt.prioritize_partial_pieces = *true заставляет µT прежде других пытаться запрашивать блоки недокачанных (початых) частей. Безусловно полезная опция (если работает, как следует).
- В случае однопоточно работающего с дисками клиента (до µT3.2 включительно) - отдельная копия клиента для каждого физического диска с закачками. Тогда каждый диск перестанет зависеть от чужих тормозов.
- Для билдов после 27498 с постоянно включенным Win-кэшированием чтения и записи имеет смысл попробовать отключить собственное кэширование чтения (в большей степени) и записи (в предположении, что эффективность сборки частей не пострадает) клиента. Напомню, что отключение собственного кэширования должно, по идее, избавить от сообщения "Диск перегружен", но не самой ситуации отставания диска в исполнении запросов клиента и прочих приложений.
- Для билдов до 27498 включительно сохраняется возможность раздельного выбора, как кэшировать чтение и запись.
- Не более одной активной закачки на каждый физический диск.
- Последовательное скачивание! Имеет смысл только при выполнении предыдущего предложения. Вторая более-менее активная закачка на тот же физический диск лишает смысла использование последовательного скачивания в качестве меры, расширяющих пределы скоростного скачивания.
- В. Боже, торренты могут прикончить мой винчестер?
О. Как и любая другая работа. К сожалению, HDD последних лет с пластинами высокой плотности настолько капризны, что вполне обычная нагрузка в сочетании с неидеальными условиями эксплуатации способна приблизить неожиданный конец. Впрочем, такие винты, и не работая, приближаются...
Всё же предупрежу о риске использования для раздачи торрентами дисков, проектировавшихся для работы в качестве слабо терзаемого хранилища. Вполне типичный пример кончины. В.
О. В.
О.
Микрофак для упорных
0. Чётко различайте кэш Windows (всегда в ОЗУ), собственный кэш клиента (нормально в ОЗУ, если ОС не вытеснит в своп), кэш/буфер диска (в ОЗУ диска).
1. Windows-кэширование для клиента (только для него, не другим программам) отключает нижняя пара галок настроек кэширования (начиная с 3.2 отсутствуют).
2. В норме (анормальная ситуация вытеснения в своп приведена ниже) собственный кэш клиента находится в памяти (ОЗУ). Об этом же обычно написано в первых строках вкладки "Кэширование/Disk Cache" настроек клиента.
3. Буфер диска неотключаем, хотя дисковыми программами можно отключить такие фичи как Read look-ahead (линейная скорость упадёт раз в 8), Write cache. Настройками клиента к нему никак не добраться. Впрочем, отложенной записью заведует галка на вкладке "Политика" в "Свойствах" диска. Жалуясь на винт, не забывайте указывать модель, режим контроллера: SATA или IDE (эмуляция). BIOS, диспетчер устройств, AIDA64 (Everest), Victoria4.3, HDDScan, HD Tune и куча других прог под виндой для жёстких дисков помогут с этим и многим другим.
ОС тоже стоит упоминать.
Избегайте "признания", что испробовали всё (?! Козьма Прутков отдыхает.), ибо честный ответ в этом случае может быть только - в морг! Или вежливое молчание. Поэтому потрудитесь коротко перечислить, что и как пробовали. Следующий спойлер при первом чтении можно смело пропустить, если нет явных проблем с памятью, хотя причины и меры отчасти пересекаются с таковыми "перегрузки диска".
#0.5. Пожирание оперативной памяти (ОЗУ), при выключении торрент-клиента память освобождается. Отказ скачивания отдельных файлов, сброс на диск/ flushing to disk (п.7)
Можно выделить три основных источника марксизма пожирания памяти, связанного с µT. Вклады этих источников без труда отделимы друг от друга. Итак:
- Собственно клиент (рост его кэша, количества текущих рабочих данных). Потребление памяти клиентом можно увидеть на вкладке "Процессы" Диспетчера задач (ДЗ).
- Кэширование ОС можно заметить по росту показателя "Системный кэш" (XP)/"Кэшировано" на вкладке "Быстродействие" ДЗ. При этом закэшированные операционной системой данные клиента не отражаются на показателях "Доступно" и "Физическая память" (имеется в виду занятая). Здесь клиент выступает источником для распухающего системного кэша, способного привести к падению отзывчивости и производительности приложений, значительному постоянному кэшированному дисковому чтению (удалив окончание адреса en-us статьи, получите адрес машинного перевода).
- Взаимодействующие (противодействующие) приложения (тот же антивирус), так или иначе пытающиеся что-то делать (захватывать, контролировать, проверять) с данными, с которыми работает клиент. Совместно с первым источником даёт рост занятой "физической памяти" и уменьшение показателя "Доступно".
В большей степени пожирание памяти характерно для ОС Vista и новее, потому что изменилась концепция использования памяти - на кой она нужна, если не используется максимальным образом хотя бы для кэширования, - так что вас должны заботить проблемы с выделением памяти другим приложениям, возможные подтормаживания и " тупизна", а не размер кэша ОС.
Кстати заметить, в µT3.2-3.4 в настройках кэширования убрана галка, позволявшая отключить включенное по умолчанию виндовое кэширование, - не пропустите п.6 этого спойлера.
При росте же собственного кэша µT до ~1800МБайт, программа тупо зависает из-за исчерпания стандартного предела 2ГБайт выделения памяти приложению.
Далее по форме "виновник - решение". 0. Прописывание нулей в файлы-заготовки закачки: то ли настройки клиента не поправлены, то ли нет разрешения на обслуживание томов / Perform volume maintenance tasks в групповых политиках, возможен также глюк билда. Характерная примета в спойлере ниже "Перегрузка диска при скачивании".
Механизм: пока идёт прописывание нулей в файлы-заготовки закачек - быстрое, но далеко не мгновенное, идёт скачивание в кэш клиента и/или кэш Windows с соответствующим пожиранием памяти, может и своп подключиться, усугубив ситуацию.
- см.п. 2. Другие настройки клиента. Хотите сократить слепые поиски причины, не поленитесь выполнить проверку прописывания нулей - см.спойлер "Проверка на прописывание нулей (на вшивость)" там же. 1. Windows-кэширование для клиента
- Отключение Windows-кэширования чтения и записи для клиента (поставить нижнюю пару галок в настройках кэширования). Нижней парой галок или опциями cache.disable_win_read /write (см.спойлер #2.4. Описание настроек settings.dat, доп. и скрытых настроек по теме) это возможно до билда 27498 включительно. 2. Собственный кэш клиента (видно потребление у процесса utorrent*.exe в диспетчере задач и рост заполнения собственного кэша в "Статистике диска" на вкладке "Скорость" клиента)
- Установка фиксированного размера собственного кэша клиента. Размер обсуждается в тексте.
- Если фиксированный размер задан, но не спасает, пробуйте снять соседнюю галку "Уменьшать использование памяти кэшем" (она может подглючивать).
- Поиграйте параметрами из Настроек - Дополнительно, упомянутых в цитате:
тыщ писал(а):
opaop писал(а):
У меня все проблемные раздачи были с размером части больше 2-х мегабайт. Причем размер самой раздачи роли не играет.
Что ж, похоже на симптом.
Попробуйте для проверки diskio.coalesce_writes = *false . Если сработает, верните в true и подберите diskio.coalesce_write_size в 2-4 раза поменьше. Замечу, что для увеличения пользы/использования кэша, когда его заполнение недостаточно, надо наоборот увеличивать diskio.coalesce_write_size кратно 2^n.
https://rutr.life/forum/viewtopic.php?p=24649665#24649665
- См.пункт 5 этого же спойлера. Не вина собственного кэша, но его неудержимый рост налицо.
- (ut2.1) bt.prioritize_partial_pieces = false ->*true (осенило, проверяйте - должно способствовать).
- Отдельная независимая возможность ограничить хаотичность скачивания блоков, сократить число незавершённых частей в собственном кэше (к сожалению, при частичном скачивании уже завершённые части всё равно могут зависнуть в кэше - см.в п.7 этого спойлера):
открываем скрытый раздел дополнительных настроек, нажимая значок настройки (шестерёнку) [ - Дополнительно /Advanced, если откроется другой пункт] с уже зажатой парой клавиш ⇧Shift-F2,
bt.sequential_download =*true для последовательного скачивания частей,
и/или bt.sequential_files =*true для последовательного скачивания файлов в том порядке, в котором они представлены в торренте, т.е. в порядке возрастания номера их начальной части (см.вкладку "Файлы"), эта опция - более мягкий, ослабленный вариант первой.
Разумеется, при малом числе сидов скорость скачивания может упасть.
- См.пункт 6 этого же спойлера. Небесспорные, но тоже возможности.
- Если при скачивании готовые части категорически не сбрасываются на винт и ничего из предложенного выше не помогает, отключите собственное кэширование записи или замените его на виндовое. См.также пункт 7 этого же спойлера. 3. Настройки кэширования действительны только для того ПК, на котором запущен клиент
Пример. Конфигурация с µT на ПК1 и раздачами на ПК2. Жалоба на заполнение ОЗУ ПК2 под завязку системным кэшем <поглощено тьмой, ну и ладно - вот ссылка на аналогичный случай при скачивании>.
Второй винде, на которой лежат раздачи, неизвестно и безразлично отключение Windows-кэширования в клиенте, находящемся на первом ПК. Вот на этом первом и отключится Windows-кэширование для µT. А вторая винда (особенно Vista, Win7 и далее с их агрессивным кэшированием) будет мужественно кэшировать любые чтения и записи, пока её не ограничат в этом. Поищите твики реестра.
Вообще, по возможности стоит держать клиент "поближе" к раздаваемым файлам, например в пределах ПК или внешнего диска с раздачами. Сопутствующие ссылки:
~ Закачки на внешнем диске https://rutr.life/forum/viewtopic.php?p=45630733#45630733
https://rutr.life/forum/viewtopic.php?p=22725985#22725985
~ Сетевой диск https://rutr.life/forum/viewtopic.php?p=29651979#29651979 4. Несовместимое ПО - категория условная, в новых версиях могут устранить принципиальную несовместимость, в старых - найти решение.
См. Справка - Справка/Мануал - Incompatibilities или по-русски http://utorrent.com/faq/incompatible-software
Например, на ПК с чипсетом NVIDIA без явного осознания хозяев (иначе зачем они другие файры ставят?) встречается файрвол NVIDIA https://rutr.life/forum/viewtopic.php?p=36011574#36011574 (выше этого поста жалоба, ниже - результат отключения). И ведь косился человек на файры, только разумеется на те, что сам ставил...
Неслабо может выступить Spider Guard Доктора Веба - и процессор с памятью загрузит, и uTorrent с Проводником подвесит... GuardMailRu (служба и процесс).
- Отключить, не поможет - деинсталлировать.
AI Suite 2 для материнских плат Asus вызывает зависания ПК.
- AI Suite 2 -> Сервис -> Network iControl -> Network iControl OFF.
Killer Network Manager Suite.
- Обновить. 4? ПО с утечками памяти стоит отдельного упоминания. Если активность этих утечек прямо или косвенно связана с активностью клиента, можно не сомневаться, что виноватым будет назначен клиент)))
Характерно в таких случаях, что память не освобождается при закрытии клиента. Вот случай мощной утечки памяти из-за драйвере сетевой карты Atheros.
- Устранить возможные утечки памяти, связанные с сетевыми драйверами и др. 4+. Плохо настроенное ПО примыкает к несовместимому по диверсионным способностям.
Брандмауэр AVAST'а (находится в списке нерекомендованных ) при быстром скачивании может грузить память до 100% и процессор, даже мышь притормозить.
Настройка AVAST. Ниже настройка Comodo Firewall Pro.
- Собственно, любой антивир/брандмауэр может гастролировать при неудачных настройках, поэтому проштудируйте тему Описание настроек различных Firewall(ов)/Antivirus(ов) для работы с P2P.
Пример: ESET NOD32 приводит к сообщению о перегрузке диска, если µT не добавлен в исключения.
- Не- и рекомендованные антивиры/файрволы, а также многое другое см.в теме Как защитить Ваш компьютер. 5. Сжатие (вероятно и шифрование) раздач, папок/разделов/дисков, их содержащих. А что вы хотели? - для расжатия приходится считывать с диска много больше (если не весь файл) реально запрошенного для передачи.
- Уберите сжатие для файлов раздачи в Свойствах - Дополнительно файлов (>16...64КБайт) раздач, папок/разделов/дисков, их содержащих, убрав галку с "Сжимать содержимое для экономии места на диске". Для явного отображения сжатых цветом в Проводнике выполнить Сервис - Свойства папки... - на вкладке "Вид" отметить галкой "Отображать сжатые или зашифрованные файлы NTFS другим цветом", нажать "Применить ко всем папкам".
Steptronix писал(а):
Я кажется решил проблему с утечкой памяти и utorrent, о чем писал в предыдущем томе
Причиной загаживания памяти было... сжатие дисков. Снял галочки, разжал файлы - все начало рабогтать как надо. Только вот сам я диски не сжимал. отчего и откуда это - загадка
https://rutr.life/forum/viewtopic.php?p=38228308#38228308 6. Манипуляции с приоритетами uTorrent.exe:
а) В частности, импортировать в реестр следующий файл, т.е. скопировать нижеследующее в текстовый файл, поправить приоритеты по вкусу, заменить расширение .txt на .REG и запустить полученный файл (для отображения расширений файлов необходимо снять галку "Скрывать расширения для зарегистрированных типов файлов" в Панели управления - Свойства папки - Вид).
#0.5.1. для Vista, Win7 текст для копирования в REG-файл
Если не понимаете, что делаете, лучше начинайте с уменьшения PagePriority на единицу от Normal, не трогая IoPriority.
;--------- для Vista, Win7 текст для копирования ниже -------------
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\utorrent.exe\PerfOptions] ; Установка (меньшего) приоритета операций ввода-вывода для utorrent.exe ; (если мешает другим процессам работать с дисками или сетью). ; 0 - Very Low, 1 - Low, 2 - Normal (default), выше - в реестре задавать бесполезно. "IoPriority"=dword:00000000 ; Установка (меньшего) приоритета страниц памяти PagePriority для utorrent.exe, ; если заполнение ОЗУ из-за клиента ухудшает отзывчивость ОС ; (для очередного свопа в первую очередь выбираются страницы с меньшим приоритетом). ; 0 - Idle, 1 - Very Low, 2 - Low, 3..4 - Background, 5 - Normal (default), выше - в реестре задавать бесполезно. "PagePriority"=dword:00000001
;--------- текст для копирования выше ----------------------------------
б) Далее можно на пробу заменить собственное кэширование на виндовое, сняв все (можно только основные) или только для чтения галки на вкладке "Кэширование". Более-менее оправдано для Висты-Семёрки, т.к. кэширование там организовано эффективнее (для повторного чтения одних и тех же данных, чего в µT практически не заметно), чем в XP, а проблема встречается чаще. Всё ж есть данные, что при отключении собственного кэша появляется треск и возрастает количество обращений к диску.
Идеи пункта взяты из хабровской статьи, с приоритетами по раздельности и вместе действительно стоит поиграть (в случае XP кто-то уже пробовал без заметного успеха, но вроде цель всё же была совсем иная...). Следует учитывать, однако, что автор статьи по ссылке не пользуется торрентами и на момент написания не осознал в полной мере их специфики, а именно: повторных запросов из кэша практически нет, кэширование необходимо лишь для организации более-менее последовательного фрагментарного чтения/записи с/на диск[а].
Разъяснения.
Ещё немного критики. 7. Особенности и глюки версий (худо-бедно меняются) или билдов (случаются эксперименты и баги)
- Пробуйте менять. Для примера вполне обычная жалоба на пожирание памяти (это в 2.2 ( Project Griffin: 2010-12-10: Version 2.2 (build 23703))), которое рассосалось при замене версии.
Версия 3.0 (многие её билды) замечена в повышенном потреблении ресурсов. Если загрузку ЦП можно снизить опцией net.low_cpu = *true, то относительно повышенное потребление памяти - только сменой версии. Замечу, вместо переустановки обычно достаточно заменить исполняемый файл µT на скачанный с официального сайта. Иногда следует перепроверить настройки, особенно дополнительные (в частности, bt.transp_disposition по разному кодируется для версий 1.8.1-1.8.2 и последующих), кому-то проще снести settings.* в папке настроек %APPDATA%/uTorrent (если вы не переносили её содержимое в папку приложения) и настроить всё с нуля.
- Пробуйте также менять собственное кэширования записи (галка = выкл) на виндовое (нет галки = вкл) в настройках кэширования µT. Обоснование см.в спойлере"Перегрузка диска при скачивании".
В версиях 3.1.2, 3.1.3, 3.2 beta имеется глюк полного отказа скачивания или отказа сброса содержимого кэша в случае пропуска отдельных файлов закачки в окошке выбора перед стартом задания при включённой опции diskio.use_partfile = true (это значение по умолчанию) дополнительных настроек.
Поскольку diskio.use_partfile = *false (один из вариантов обхода глюка) влечёт за собой отъедание дискового пространства на фикции файлов закачки, смежных с выбранными для скачивания, приемлемым способом обхода глюка будет выбор файлов для скачивания на вкладке "Файлы" уже после старта задания.
Ещё проще откатиться на любую другую версию, для вас беспроблемную.
Ситуация с застывшим состоянием Flushing to disk/Сброс на диск аналогична (см.предыдущий абзац). Отображение этого состояния впервые появилось 23.11.2011 в Version 3.1 RC2 (build 26508 ).
В многопоточном µT3.3 сбросить данные из кэша записи можно включением опции "Выгружать из кэша записи нетронутые блоки каждые 2 минуты". Ну, может 2 минуты придётся подождать)
Потакая ленивым любителям готового, продолжаю потихоньку дописывать "готовое" в начало (и не только), заодно пытаюсь правильно расставить акценты. Когда и зачем требуется кэширование BitTorrent-клиентам. Как оно всё получается...
#0.6. Чем грузятся диски. Почему возникает сообщение, соответствует ли оно реальной перегрузке
В общем-то нет. Было б смешно, если б какая-то виндовая прога знала об этом лучше самих винтов со всеми их спецсредствами.
Хорошо бы знать, что заставляет клиент выдавать сообщение о перегрузке. Сразу приходит на ум некий таймаут операций ввода-вывода. В мануалах и FAQ'ах постоянно упоминается, что сообщение о перегрузке не соответствует реальности при старте закачки, когда создаются/зануляются файлы-пустышки. Можно было бы углядеть намёк на таймаут и в цитате из официального Web FAQ'а:
Цитата:
Что означает надпись "Диск перегружен" в строке состояния?
Это значит, что диск не успевает обрабатывать подаваемые/запрашиваемые данные. Это обычное поведение при первом запуске большого торрента, поскольку перед записью Windows необходимо создать файл.
[Здесь ещё раз направлю в п.2. Другие настройки клиента. Хотите сократить слепые поиски причины, не поленитесь выполнить проверку прописывания нулей - см.спойлер "Проверка на прописывание нулей (на вшивость)" там же.]
Появление опции diskio.max_write_que = 32 подсказывает, что сообщения о перегрузке диска при скачивании появляется при глубине очереди записей, превышающей заданный предел.
Однако более универсально др.утверждение о появлении этого сообщения, когда диск не поспевает за собственным кэшем клиента. Горячий привет от диска полностью отключающим в клиенте кэширование чтения (Win и собственное): сообщение-то уходит, но реальная нагрузка на диск возрастает. Конечно, если настройки кэширования категорически неадекватны ситуации, то да... но может всё-таки поработать с настройками (включить Win-кэширование чтения), попридержать коней. Поясняющий пример настоящей нагрузки ниже.
Вообще, организовать максимально быстрое случайное чтение торрентами легко. К примеру, для абстрактных 70iops некоторого среднего HDD имеем 70iops x 16Кбайт ~ 1МБайт/с для скорости случайного чтения блоком 16КБайт, т.е. с тарифом 8mbps и полностью отключенным в uTorrent кэшированием уже получается нагрузить наш диск по максимуму. А с интернет-каналом >70mbps - получится уже и с включенным собственным кэшированием клиента (хотя неслабый канал и одновременно полная его загрузка уже не выглядят типичными): 70iops x 128КБайт ~ 9МБайт/с.
Вот кстати, настоящую нагрузку HDD конкретной последовательностью операций ввода-вывода можно было бы описывать в процентах от максимальной достижимой скорости на этой же последовательности.
При скачивании тяжелей организовать перегрузку аналогичным способом, хотя бы потому, что одну закачку трудно размазать по всему диску, даже фрагментированные остаются относительно компактными.
Полное отключение в клиенте кэширования записи уже не столь критично: хотя блоки 16КБайт практически перестанут (если только в settings.dat не включено последовательное скачивание частей) объединяться в клиенте (см.статистику диска), но всё же винт [контроллер, драйвер] кэширует и объединяет (только смежные блоки) перед записью на поверхность.
Но уже несколько одновременных закачек легче раскидать по диску. Да и параллельная раздача усугубит, тем более что в этом случае уже имеем сумму прямого и обратного интернет-канала.
Какими бы искусственными приведенные нагрузки не выглядели, обратите внимание, как недалеки безобидные торренты от нагрузок, вызвавших обсуждение [это о тестировании по хоботовскому FAQ п.15], ну и не забудьте про соотношение длительностей этих нагрузок. Понятно, всякие зелёные (малооборотистые) и/или тихие (с мин.ААМ, соответственно макс.временем доступа) нагрузить под завязку ещё проще... Любопытна дискуссия на пару страниц о допустимости и степени нагрузки при тестировании новых дисков по методу FAQ п.15, а также при раздаче-закачке торрентов и по DC++.
Вот мы и приходим к простой мысли, что реальную нагрузку стоит описывать (соответственно, контролировать) объёмом ввода/вывода (записи/чтения) и характером (размер блока, темп позиционирований), а не наличием/отсутствием сообщения клиента. Инструменты контроля в разнообразии предоставляет ОС, сторонние проги (например, статистика HAB, SsdReady с включенной в настройках опцией Collect process names) и сам клиент.
Новые сигейты и в смарте кое-что сообщают ( начало, ниже примеры). Статистика винта на примере ST31500341AS
Странные процессы на примере jqs.exe
jqs.exe ныне не встречается, но остаются шансы столкнуться с другими процессами сомнительной необходимости, нагружающими диск.
Заглянув в Диспетчер задач и включив показ столбцов прочитанных/записанных байт, вы можете обнаружить там процесс jqs.exe Это Java Quick Starter, попадает на ПК с Java-машиной jre 6, фигурирующей в аплете ПУ "Установка и удаление программ" как Java(TM) 6 Update 23 (текущая версия, возможны и предыдущие). На двух разных ПК с WinXPsp3, что я проверил, этот процесс читает ~1 ГБайт/час (25 ГБайт/сутки) с системного раздела, на порядок больше антивира - сравните с uTorrent! Постоянство объясняется просто: jqs перечитывает основные библиотеки jre, чтоб снова вернуть их в виндовый кэш (находится в ОЗУ), как только винда выбрасывает их оттуда.
Раз уж есть повод для отключения jqs, найдётся и способ:
Панель управления - Java - Advanced, далее снять флажок в JRE Auto-Download в новых версиях, в старых снять флажок для Java Quick Starter в Miscellenious.
http://forum.mozilla-russia.org/viewtopic.php?pid=389138#p389138
http://www.java.com/ru/download/help/quickstarter.xml
Например, BlueSoleilCS.exe производит ~10 чтений 4K-блоков в секунду. Это одна из служб соответствующего стека Blue Tooth от BlueSoleil, соответственно её можно переключить на ручной запуск.
Много меньше, но всё ещё немало мучают винт антивиры и svchost (который от имени System), что обслуживает пару десятков служб, запуск большей части которых стоит перевести в режим 'Отключено' или 'Вручную'.
Да хоть службы "MS Software Shadow Copy Provider" и "Теневое копирование тома" - вот подоспел пример, когда их отключение избавило от сообщения "Диск перегружен".
Пример: ESET NOD32 приводит к сообщению о перегрузке диска, если µT не добавлен в исключения. Из отзыва на WD15EARS с Advanced Format (AF):
Виталий писал(а):
10.10.2010
При копировании с одного жесткого диска на другой 1 Тб мелких файлов без отключения индексирования и записи даты обращения к файлу, скорость падала до 10 Мб/сек, после отключения - стабильные 80 Мб/сек.
А вот появился и местный пример удачного отключения индексирования, а ведь начиналось с безапелляционного заявления: "перепробовал все до одного решения, указанные в шапке". Будьте и вы внимательней, чтобы не тратить своё время на открытие (или мучительное осознание) давно известного)))
Отмечу желательность отмены индексирования для всего физического диска с закачками ( со всеми вложенными папками и файлами (позиция 2 на картинке)) или же отключения службы индексирования (касается всех дисков сразу).
Кроме индексирования упомяну восстановление системы. Не раз замечал, что оно упорно отслеживает регулярные изменения .dat-файлов uT, возможно и за записью очередного куска закачки приглядывает - лишняя нагрузка.
Фоновая дефрагментация и оптимизация тоже под подозрением.
SuperFetch
Обязательно также см. пп4, 4?, 4+ спойлера #0.5.
#0.7. Перегрузка диска при скачивании
При скачивании сообщение о перегрузке диска соответствует переполнение собственного кэша, поэтому смотрите п.2 спойлера #0.5 о пожирании оперативной памяти (ОЗУ).
Плюс:
- Отключить службы "MS Software Shadow Copy Provider" и "Теневое копирование тома" - вот и пример подоспел, когда их отключение избавило от сообщения "Диск перегружен".
- Галка "Pre-allocate all files /Размещать все файлы сразу" в "Настройках - Общие" и diskio.no_zero = true (подробности, особенности и глюки см.в п. 2. Другие настройки клиента.).
- (ut2.1) bt.prioritize_partial_pieces = false ->*true (осенило, проверяйте - должно способствовать).
- Можете временно увеличить фиксированный размер кэша до 512-1024 Мбайт. В общем-то это путь лузера, не могущего отключить и проверить отключение прописывания нулей в файлы-заготовки закачки согласно пункту 2. Другие настройки клиента.
#0.7.1. Кэш лузера, способный проглотить прописывание нулей без сообщения "Диск перегружен" - соотношения (немного арифметики)
Покажу это, дав оценку требуемого размера собственного кэша записи в условиях, когда диск полностью занят прописыванием нулей (примерно со средней скоростью винта, а то и меньше, если с него идёт раздача), в то время как закачка идёт в собственный кэш. Для средних скоростей получится соотношение: <время прописывания нулей [c]> = <объём прописывания [МБ]> / <скорость записи на диск [МБ/с]> =
= <заполнение кэша µT [МБ]> / <скорость скачивания [МБ/с]> В пояснение формулы ещё раз о перегрузке из-за прописывания нулей. На время прописывания µT, естественно, "забывает" сбрасывать содержимое кэша, т.к. пропускной канал диска полностью занят прописыванием. В такое время процессы прописывания нулей на диск и скачивания в кэш становятся независимыми. Ключевым будет соотношение K средней скорости записи диска к скорости скачивания. При заданном размере кэша, он не переполнится (не будет сообщения о перегрузке) при прописывании нулями закачки размером до M=K*cache . Вот так! Соответственно, требуемый размер кэша (лузера) будет в K раз меньше крупнейшей закачки.
Таким образом, при невозможности/неумении/нежелании избавиться от прописывания нулей <Кэш лузера> = <максимальный объём прописывания> / K, где объём прописывания равен наибольшему файлу, если не поставлена галка "Размещать все файлы сразу", или наибольшей закачке, если стоит. Отсюда же можно расценивать гигантский размер кэша, снимающий перегрузку, как характерный признак прописывания нулей. Заметившим подобное следовать в пункт 2. Другие настройки клиента добиваться реального отключения прописывания нулей. И не ленитесь выполнить проверку прописывания нулей - см.спойлер "Проверка на прописывание нулей (на вшивость)" там же.
- Замена собственного кэширования записи (галка = выкл) на виндовое (нет галки = вкл) в настройках кэширования µT.
Полагаю, (у Vista-Win7 с их агрессивным кэшированием - вероятнее) прописывание нулей хотя бы частью может не уйти дальше кэша (т.е.ОЗУ), сменяясь на запись уже скачанного. [Проверить с флэшкой тоже, возможно снять галку "Распределять место сразу".]
Также сгодится для борьбы с зависанием в состоянии "Сброс на диск".
- Стоит также поиграть с:
diskio.flush_files
(ut2.2.1) diskio.max_write_que
Вообще, см.спойлер #2.4. Описание настроек settings.dat, доп. и скрытых настроек по теме.
Расчёт возможностей одиночного жёсткого диска: какие скорости скачивания клиентом он способен обслужить.
Практика подтверждает возможность скачивания с помощью µT со скоростями до 75-100 МБайт/с на гигабитном интернет-канале. 1. Настройка кэширования и другие способы уменьшения нагрузки на винт
#1.1. Примерные настройки кэширования для борьбы с перегрузкой диска - подстраивайте по ситуации
Хотите всяческие подсказки вроде тех, что на картинках, воспользуйтесь переводом из подписи*, потом его легко можно заменить на любой другой.
Здесь предложены направления борьбы, а не синяя пилюля.
Предполагается минимальное осмысление написанного, а не банальное копирование чисел и галок (представьте, что они стоят на картинке в случайном порядке).
Оптимально держать закачки/раздачи не на том же физическом жёстком диске, где стоит работающая ОС. Аналогичное можно сказать и о файле подкачки, с другой стороны последний может усугубить перегрузку диска с закачками, если будет на нём. Встречаются случаи, когда при быстром скачивании/раздаче стремительно заполняется ОЗУ (чаще из-за Windows-кэширования, но и собственный кэш µTorrent'а может разрастаться, если не фиксирован), что заставляет ОС сбрасывать "лишнее" из ОЗУ в файл подкачки. Пример. Если файл подкачки будет на том же физическом жёстком диске, что и закачки, даже система может тормозить, не говоря уже о скачивании. Вот почему Windows-кэширование записи в µTorrent'е по умолчанию выключено. В упомянутых случаях важно ограничить рост потребления памяти, отключив Windows-кэширование чтения и/или зафиксировав кэш клиента. Размер собственного кэша µT
Немного уточню выбор размера фиксированного кэша.
#1.2. Оценка минимально необходимого размера кэша чтения
Периодически понаблюдайте за максимальным числом активных отдач, нажав на левой панели 4-ю кнопку показа активных торрентов. Получите оценку достаточного фиксированного размера кэша чтения, умножив это число на 5-10 МБайт (столько достаточно каждому потоку для извлечения пользы от read-ahead винта - спасибо nazyura). Минимум выделения кэша на каждую приличную раздачу проистекает из наличия внутреннего кэша диска и обязательного избыточного чтения диском в собственный кэш (современные считывают за раз по несколько дорожек). Разумно было бы перекинуть содержимое дискового кэша в кэш клиента. Больше кэш винта, больше можно выделить на каждую кэшируемую раздачу.
#1.3. Оценка максимально достижимого заполнения кэша чтения
При отдаче µT кэширует на 100 секунд среднепиковой (за какое-то время, вероятно тоже 100 секунд) скорости отдачи (с сохранением содержимого какое-то время при падении скорости). Так что умножив вашу максимальную скорость отдачи на 100сек, получите максимально возможную загрузку собственного кэша чтения и максимальный из вменяемых размер кэша чтения. Больше для чтения не понадобится.
Например, 128МБ кэша достаточно для отдачи 1.28Мбайт/с (полосы 10Mбит).
Посматривая на эти оценки, выбираем разумное значение, одинаковое для собственных кэшей чтения и записи. Уточняем размер, наблюдая в статистике диска на вкладке "Скорость" заполнение обоих кэшей. Можно уменьшить фиксированный размер, если в пике кэши далеки от полного заполнения, увеличить - если близки. Оценку максимального размера собственного кэша записи см.выше, в спойлере "Перегрузка диска при скачивании".
До недавнего времени с кэшированием записи проблем вроде бы не было, ныне что-то неладно у µT с Win7. Хотя нижеследующее в какой-то степени касается и записи, рекомендую спойлер #0.5 (о пожирании оперативной памяти) в случае с проблемами кэширования при скачивании.
#1.4. Дефрагментаторы и десятки свободных гигабайт не всегда гарантируют от фрагментации раздач
Периодическая дефрагментация дисков тоже не мешает. Владельцы объёмистых дисков, глядя на десятки свободных гигабайт, не задумываются, что диск, заполненный более чем на 88% (свободных 12%, столько же изначально зарезервировано под рост MFT), дефрагментировать толком не получается - API дефрагментации не может перемещать данные в MFT зону, свободного места для маневра просто нет. Так что избавиться от перегрузки диска в таком случае можно, освободив >15% объёма - столько же обычно требуют (должны, ибо используют виндовые API) дефрагментаторы. Стоит добавить к 15% ещё несколько гигабайт - закачки сплошь немалые. Не особо надейтесь на сниженные требования свободного места некоторых дефрагментаторов, мелкие файлы они смогут осилить, для нормальных раздач понадобится дополнительное свободное место порядка размера наибольшего файла раздела.
Галка Pre-allocate all files /Размещать все файлы сразу в Настройках - Общие тоже борется с фрагментацией при нескольких параллельных закачках.
Пример: заведомо после создания и возможного прописывания нулями заготовки единственного файла 1.36 ГБ (уже скачано 75%) при свободных 8.23ГБ (т.е. 2.8%) из 298ГБ на диске D: закачка идёт с перегрузкой: 9% при скорости 385КБ/с и 66% при 590КБ/с.
#1.5. NCQ не особый помощник для µT, AHCI тоже под вопросом
Хотя линейные скорости чтения/записи диска на первый взгляд заметно больше сетевых, излишне беспорядочное перемещение головок может сильно испортить реальные скорости. Поэтому в случае многозадачности (проги помимо клиента, активно использующие диск, да и просто некстати свопящая винда) делу теоретически может помочь NCQ (требует переключения контроллера жёстких дисков из режима эмуляции (совместимости с) IDE для SATA-устройств в нативный SATA), но чаще вредит (и NCQ, и AHCI). Ускорение в нативном режиме (проверялось что угодно, кроме торрентов) замечалось почему-то на отдельных, не встроенных контроллерах (?) и далеко не для всех HDD, да и выигрыш невелик при включенном кэшировании. А имитация многопоточного чтения несколькими экземплярами HD_Speed недвусмысленно намекает, что многие диски лучше ворочают торренты в режиме эмуляции IDE (PATA).
Мда, неотключаемый AHCI у некоторых ноутбуков может даже заставить ограничиться одной активной раздачей!
Следует отметить, запросы µT к диску сами по себе не образуют очередь, в каждый момент выполняется не более одного.
Greg Hazel, BitTorrent Developer писал(а):
uTorrent only has one actual disk thread, so if you see many requests, it's probably a sum of all the requests that occurred inside the polling interval (1 second, I believe). This is also why you only see the Current Disk Queue Length go between 0 and 1.
http://forum.utorrent.com/viewtopic.php?pid=443838#p443838
Поэтому NCQ может помочь лишь косвенно, переупорядочивая единственный текущий запрос µT вкупе с чужими запросами. Стоит самостоятельно проверить (и поделиться результатами) всем любителям загружать винты параллельными приложениями.
Кстати, NCQ отдыхает с USB Removable, USB-контроллеры NCQ не поддерживают.
Использование для торрентов винтов раздельно (россыпью) меньше нагружает последних, чем в RAID'е (есть и такие экспериментаторы). Прикидки по этому поводу. Отключение Windows-кэширования чтения с диска радикально снижает потребление ресурсов (памяти и процессорного времени) при высокоскоростной отдаче (упоминаю сразу, чтоб не прошло мимо вашего внимания).
vlo писал(а):
раздаваемые p2p клиентом файлы, не имеет смысла кешировать, необходимость повторного обращения к тому или иному блоку за разумное время его пребывания в кеше весьма маловероятно. их нужно только упреждающе крупноблочно читать. в рамках nt5 - их нужно читать с запретом кеширования ОС, благодаря чему та, в большинстве случаев, не будет разбивать запрос на мелкие, и соответственно возлагать ответственность на реализацию многопоточности на накопитель.
Резонно для небольшого числа подключенных личеров на торрент, но иногда их бывает сотни.
А вот для нескольких копий клиента Windows-кэширования чтения с диска, видимо, всё-таки не помешает, т.к. один и тот же торрент (даже одному и тому же пиру; BitComet, например, любит цепляться сразу ко всем копиям) может раздаваться разными копиями, так зачем считывать с диска одно и тоже?
#1.7. Необходимость собственного кэширования клиента
Жёсткие диски и сами кэшируют, но не всегда хорошо - см. Скорость HDD при многопоточном чтении. Так что клиенту не помешает собственное кэширование, которое поболее виндового знает о торрентах. Хотя и здесь не стоит ожидать, что считанное из кэша в разы превысит считанное с диска, зато собственное кэширование может обеспечить чтение с диска бОльшими порциями, чем поддержать сдающий диск. Только оно и не даёт дискам со слабым многопоточным чтением свалиться в режим случайного доступа.
С учётом иных целей кэширования (цель - не столько снижение объёмов считаного или записанного на диск, сколько снижение числа чтений/записи и тем самым рывков позиционера) можно даже мириться с каким-то превышением считанного с диска над отосланным.
#1.8. Эффективность собственного кэширования чтения
Эффективность собственного кэширования чтения (и ваших настроек его) можно выяснить сопоставлением прочитанного "Из файла" в статистике диска на вкладке "Скорость" с отданным в статусной строке при условии net.calc_overhead = false (всё равно отданное останется чуть завышенным).
+ Если снять галку с "Отключать кэширование чтения при малых скоростях отдачи", можно сравнивать объёмы считанного "Из файла" и "Из кэша", со снятой галкой отосланное совпадает с прочитанным из кэша. Будет точнее, только это уже будет режим постоянно включенного кэширования, чья эффективность, по идее, ниже.
Не забывайте про удобную кнопку сброса статистики диска.
Дополнения/уточнения - с.6 https://rutr.life/forum/viewtopic.php?p=31769989#31769989
Примеры разбора статистики чтения: коммент 1 скриншота из поста 1 vs коммент 2 скриншота из поста 2.
#1.9. О дисках (пример: что можно подстроить по результатам тестирования несколькими копиями HD_Speed)
http://forum.ixbt.com/topic.cgi?id=11:39869-6#150
Если для приложения включено Windows-кэширование, тогда актуальными для него становятся результаты тестирования с блоком 64КБайт.
Если выключено, актуальны блоки 16 и 128 КБайт. uTorrent в этом случае читает в свой кэш блоками 128КБайт, а мимо своего кэша (и из кэша тоже) - блоками 16КБайт. Чтение мимо кэша будет при отключенном собственном кэше чтения или при скорости отдачи <40КБайт/с (опция "Отключать кэширование при низкой скорости отдачи").
Поведение HDD зависит от хост-контроллера материнской платы и его режима, драйвера, прошивки (firmware) жёсткого диска. Обычно прошивки корректируются под конкретные модели, не меняя общего поведения, поэтому характерное поведение винта определяется производителем в значительно большей степени, чем, например, семейством. Для этой темы поведение винта и поведение прошивки - одно и то же. Заметные положительные изменения поведения замечены у дисков Hitachi в цепочке прошивок 20N, 28A, 39C (последняя с разблокированным AAM, с последующими небесшумный позиционер Хитачи утихомирить сложнее) - 3EA, 3MA (в пределах 3хх можно и апгрейдить, и даунгрейдить), незначительные - у Самсунгов.
К сожалению, хорошие традиции в части многопоточного чтения не возникают, достигнутое не закрепляется. Например, у более новых Hitachi 7K3000 и 5K3000 (прошивки 180, 380, 580, 5C0) борьба возобновляется с безобразного уровня.
В конце 2010 появился трёхблинный WD20EARS-00MVWB0, Firmware: 51.0AB51 с весьма достойной многопоточностью у выровненного. Разумеется, дело в новой прошивке. У WD5000AAKX тоже очень неплохо с многопоточным чтением. К сожалению, у WD10EALX обычная старая убогая "норма". Плюс возможные глюки с новым интерфейсом. Самсунги при потоках >4 лучше читают блоками 16КБайт, блоками 128КБайт похуже, ещё хуже - блоками 64КБайт.
При потоках <4 рост скорости многопоточного чтения с размером блока заметен слабо.
Следовательно, в uTorrent для самсунгов F1-F3 желательно включать упомянутую опцию, отключать кэширование чтения виндой и даже собственное кэширование чтения.
Самсунги заметно сдают на быстром скачивании, если одновременно занять его ещё чем-либо, например, хэшировать обновлённый большой торрент.
Семейство SpinPoint F3. HD502HJ (контроллер Intel ICH9R, режим IDE), рекомендации. wd1001fals многопоточно читает блоками 16КБайт на порядок лучше, чем 64КБайт. Что ж, вестерну в uT абсолютно противопоказано виндовое кэширование чтения (нужна нижняя галка в Настройках - Кэширования).
WD1001FALS (контроллер Intel ICH9R, режим IDE), рекомендации.
Вообще, вестерны заметнее других винтов не любят далёкого разнесение потоков чтения, следовательно компактное размещение раздач им особенно не помешает. hitachi 7k1000.b (hdt721010sla360) блоками 64КБайт многопоточно читает чуть получше вестерна и сколько-то лучше себя (цифр нет), но блоками 16КБайт. Как знать, может кэширование виндой ему не повредит, если с блоком 128КБайт будет плохо.
#1.10. Политика "Кэширование записи [в ОС Windows и безопасное извлечение]"
Вот пути к ней:
Диспетчер устройств - Дисковые устройства - двойной клик по нужному диску откроет окошко его свойств - вкладка "Политика"
или
Правый клик по любому разделу "Моего компьютера" - Свойства - на вкладке "Оборудование" выделить нужный диск и нажать "Свойства" [или двойной клик по нужному диску] - вкладка "Политика" в открывшемся окне его свойств.
Для внутренних жёстких дисков кэширование записи в ОС Windows следует разрешить.
#1.11. WinXP
Сверху радиокнопка-переключатель выбора одной опции из двух (выкл/вкл) кэширования ОС Windows для диска.
Для режима IDE выбор варианта извлечения неактивен (радиокнопка в положении включенного кэширования ОС Windows), отсутствует как и горячая замена диска.
Нижний чекбокс ( Write Cache) отвечает за включение отложенной записи диска - проверял лично, сравнивая действие этой галки с включением кэша записи HDD в Victoria 4. Без неё линейная скорость записи падает на порядок - со 120 МБ/с до 13.6 МБ/с у Hitachi HDS721010CLA332, например.
Эта опция идентична 1-й у последующих версий ОС Windows (см.следующий спойлер), причём описание её там адекватней.
В XP на рассматриваемой вкладке "Политика" не доступна опция Power protected write cache (параметр Power Protect) для диска (off/выкл. по умолчанию).
Дабы избежать проблем, вызванных сбоем питания, драйвер Microsoft отключает использование кэша записи диска при выполнении операций записи критичных данных (чего не делают другие), так что запись происходит на пластины диска без задержки в его встроенном кэше (обеспечивается командой Flush buffers). Критичность определяют разработчики каждого конкретного ПО. В частности, сбой питания опасен при дефрагментации, при вызове API функций записи в реестр и т.п. При отложенной записи при сбое в кэше может оказаться не только содержимое важных файлов, но и часть таблицы размещения файлов.
Но если у вас гарантированное питание или вы ничего не боитесь, можете включить Power protected write cache, чтобы получить заметный выигрыш в считанных приложениях, вроде Business Disk WinMark 99, 1С:Предприятие и может быть в некоторых профессиональных пакетах при операциях сохранения (оцените коварство предложения).
Получать и изменять состояние Write Cache (лучше в политике - см.картинку) и Power Protect можно утилитой Dskcache.exe от Microsoft.
Найти утилиту и почитать о влиянии опции Power Protected на производительность можно здесь. Использование Dskcache.exe описано в статье Microsoft Получение средства Dskcache.exe для настройки параметра кэша записи Power Protected.
#1.12. Последующие ОС Windows
1-й чекбокс (Write Cache) идентичен нижнему WinXP (см.предыдущий спойлер).
А 2-й чекбокс (Power protected write cache) сопровождается шизофреническим переводом...
Впрочем, см. об опции Power protected write cache в предыдущем спойлере.
Итак, опция Write Cache рассмотренной политики касается кэша записи диска (части буфера диска, этот кэш физически находится на платке HDD), Power protected write cache - выключает прямую запись на диск без задержки во встроенном кэше диска для критических операций (т.е. кэш диска будет использован для всех операций записи одинаковым образом, заданным Write Cache).
Кэширование Windows (в ОЗУ) для клиента (и только для него) отключаем в настройках клиента.
Обратите внимание на пункт 5 спойлера #0.5 о памяти, в равной степени он касается перегрузки диска. 2. Другие настройки клиента Выполнение нижеследующих рекомендаций в некоторых случаях не избавит от прописывания нулей. На разделах FAT32 не удаётся избавиться от зануления.
Текст о Размещать все файлы сразу /Распределять место сразу /Pre-allocate all files (размещение файлов закачки до начала скачивания, выделение им места - не более; см.эту опцию по пути Настройки -> Общие) и diskio.no_zero (опция из Настроек - Дополнительно, позволяющая отключить заполнение нулями созданных файлов) приходится вытаскивать из продолжающего поста, где он мирно покоился, пока связка uT2&Win7 не воплотили в жизнь пожелание о перегрузке диска при закачке самым неприятным образом - watch your wishes)))
Кстати, в uT2.2.0-2.2.1 присутствует глюк с неработающим выбором diskio.no_zero: создающиеся файлы зануляются независимо от его значения, винт хорошо нагружается этим процессом при выключенном "Распределять место сразу /Pre-allocate all files", раздачи поэтому приостанавливаются ( начало обсуждения длиной в страничку). Зануление файлов версиями 2.2.1-final-25302 проверял лично. Однако позднее выяснилось, что по крайней мере в случае 2.2.1 25302 + diskio_no_zero=true (по умолчанию) + "Распределять место сразу /Pre-allocate all files" зануление происходит за пару секунд, независимо от размера закачки, без реального прописывания, т.е. в определённом смысле фиктивно.
Спасибо hardhouse за формулирование альтернативного видения и Mr.RIX за то, что столкнул два взгляда до относительного прояснения действительности ( начало дискуссии).
По опции Pre-allocate all files клиент всего лишь размещает файлы до старта задания (полезно для своевременного контроля достаточности свободного места). Без неё файлы размещаются при первой же записи в них (это происходит довольно быстро в силу принципиально непоследовательного скачивания клиентом файлов и частей, в сочетании с записью готовых частей может вызвать сообщение о перегрузке диска). Лучше уж разместить файлы сразу, пока скачивание не развернулось, чем грузить диск размещением на полном ходу.
Файлы-заготовки создаются все сразу до реального скачивания, если включена опция Размещать все файлы сразу /Распределять место сразу /Pre-allocate all files, либо каждый файл по-отдельности при попытке 1-й записи в него, если опция выключена. Сначала эти пустышки не содержат скачиваемого, потом по мере скачивания "набиваются" вразнобой готовыми частями, которые обычно собираются в кэше до целых из скачанных блоков 16 КБ.
А в версиях 2.2-2.2.1, как мы видели десятком строк выше, включение этой опции становится императивом, чтобы не было задержек на реальное прописывание нулей.
Сообщение о перегрузке диска сразу после добавления торрента длится по понятным причинам ограниченное время (пока созданные для закачки файлы-пустышки заполняется нулями, зато случайно не всплывёт в недокачанном детском мультике свежестёртое порно) и вполне ожидаемо. В каждом FAQ'е и мануале об этом пишется 3-4 раза. Там же обещают подправить именно эту ситуацию в скором времени (только всё никак, если не считать решением diskio.no_zero = true по умолчанию начиная с 1.8.3). Механизм и соотношения см.выше, в спойлере "Перегрузка диска при скачивании". diskio.no_zero = true не работает без соответствующих прав у учётной записи, под которой запущен µT.
#2.1. Проверка разрешения SeManageVolumePrivilege
1. Скачиваем и запускаем Process Explorer (установка не требуется, понадобится лишь единожды согласиться с лицензионным соглашением).
2. Дважды щёлкаем по процессу клиента (обычно это utorrent.exe, при запуске выделен ядовито зелёным цветом), чтобы открыть окошко свойств, в нижнем списке вкладки Security которого смотрим строку SeManageVolumePrivilege.
Должно быть Enabled, в случае Disabled или при отсутствии строки читаем далее, как добавить в WinXP (спойлер #2.2) или как обеспечить для более поздних версий Windows.
Для Vista, Win7 с учётом умолчального diskio.no_zero = true с избытком достаточно отключения UAC или тех же админских прав, запуска от имени администратора (через правый клик по исполняемому файлу).
Упрощаем запуск приложений в Windows 7 от имени администратора без отключения UAC (5 способов, обсуждение).
Аккуратное решение для ОС, следующих за WinXP, найдёте в переводной статье Выборочное отключение контроля учетных записей (UAC) для проверенных приложений...
Microsoft Application Compatibility Toolkit позволяет селективно отключить UAC для клиента, запускать клиент с правами администратора и добавлять торренты обычным образом без лишних предупреждающих окошек - см. пост прошедшего этим путём и дополнительные ссылки к нему.
Без админских прав для отмены заполнения нулями хватает разрешения на обслуживание томов / Perform volume maintenance tasks в групповых политиках - это необходимый минимум.
#2.2. Получение для пользователя (без админских прав) права на обслуживание томов / Perform volume maintenance tasks / SeManageVolumePrivilege
Пользователи Windows Home нижеследующего не найдут, им следует искать обходные пути. а. Пуск - Выполнить secpol.msc - Локальные политики - Назначения прав пользователя (выделить)
или
Панель управления - Администрирование - Локальная политика безопасности - Локальные политики - Назначения прав пользователя
или
Computer Configuration\Windows Settings\Security Settings\Local Policies\User Rights Assignment
б. Двойной щелчок по политике
Выполнение задач по обслуживанию томов (Win7),
она же Запуск операций по обслуживанию тома (winXP),
она же Perform volume maintenance tasks.
в. Добавить своего пользователя, после перезагрузки выхода-входа пользователя или команды GPUpdate изменения сработают.
#2.3. Проверка (на вшивость) на прописывание нулей операционной системой элементарна
Начиная с µT3.2 из общего состояния "Диск перегружен /Disk [Cache] overloaded" выделено "Размещение (распределение) файлов /Allocating files (Allocating...)" с соответствующим сообшением в статусной строке (статусе торрента).
Allocating, долго красующееся в статусе после добавления большой закачки, - достаточный повод задуматься. В случае прописывания файлов-заготовок закачки это время будет соответствовать их размеру, делённому на скорость записи носителя, т.е. секунд по 10 на каждый гигабайт размера закачки.
Для всех версий и клиентов можно использовать послеэкспишный Диспетчер Задач (ДЗ) для косвенного выявления неотключенного зануления файлов-заготовок закачки. Иными словами, подозреваем прописывание нулей, если видим достаточно длительное превышение по объёму (средней скорости) записи на диск в ДЗ над записью на диск (в статистике диска) самим клиентом и не можем приписать это другим задачам или же отвергнуть прописывание. Подозреваем достаточно уверенно, чтобы принимать меры: подтверждать прописывание способами попрямее и добиваться его действительного отключения в ОС для клиента. Разбор примера.
Другой способ ниже.
Создаём бестрекерный приватный (чтоб скачивание не испортило картину) торрент-файл для любого большого файла (>10-100МБайт).
Добавляем торрент в список клиента. Далее можно просмотреть созданный файл-пустышку WinHex'ом на предмет ненулевых байтов.
Долго и скучно, поэтому подсчитываем и запоминаем контрольные суммы для созданного файла, отправляем его в корзину или переименовываем в случае флэшки (чтоб следующий новый файл не попал на то же место).
Останавливаем наш тестовый торрент, хэшируем (чтоб µT осознал отсутствие файла), снова стартуем его (чтоб опять создался файл-пустышка), подсчитываем контрольные суммы и сравниваем с записанными. При стабильном равенстве контрольных сумм предполагаем прописывание нулей. Перепроверяем несколько раз, вспоминаем характерную примету из спойлера выше "Перегрузка диска при скачивании" и возвращаемся к началу этого пункта ( п.2) для исправления своих ошибок - скорее всего недостаточно прав согласно предыдущему спойлеру "Получение для пользователя (без админских прав) права на обслуживание томов / Perform volume maintenance tasks".
Если вы не выполнили подобной проверки и не доложили о её результатах, не удивляйтесь, что ваши жалобы останутся без ответа при малейших намёках на прописывание нулей.
Кстати, передёргивание Pre-allocate all files остаётся пока единственной мерой борьбы с ошибочным отказом µT писать большие файлы на NTFS-разделы (случается и такое - см.пример), если не считать совсем уж странных.
Огорчу владельцев (вполне современных) дисков WD и Hitachi, суммарная скорость многопоточного чтения несколькими экземплярами HD_Speed ограничена несколькими МБайт/с, при числе потоков более 4-х к ним присоединяются самсунги.
[ Подробнее об эффективности управления многопоточным чтением у разных hdd.]
Так что поправьте невменяемые числа слотов отдачи (их скорее стоит уменьшать при превышении других рекомендаций; ко всему прочему формально на каждый слот отдачи всякого активного торрента должно приходиться не менее 1КБайт/с канала отдачи) и активных торрентов поближе к рекомендуемым Оптимизатором (Мастером) скорости. Кстати, µT считает активными те, чьи скорости превышают пороги queue.slow_dl_threshold или queue.slow_ul_threshold (1000Байт/с по умолчанию), заданные в Настройках - Дополнительно, - именно такие ограничиваем в настройках, в то время как для трекера активные те, что периодически посылают отчёты, в частности о том, что запущены.
#2.4. Описание настроек settings.dat, доп. и скрытых настроек по теме
Приведены дефолтные (по умолчанию) значения. Изменённые значения в доп.настройках предваряются звёздочкой *.
[3.3] - опция применима с µT3.3. bt.save_resume_rate = 120 задаёт в секундах периодичность обновления/сохранения на диск файла resume.dat. Если последний находится на физическом диске с закачками, стоит увеличить значение в разы. diskio.all_writes_sync = false. В случае *true заставляет µTorrent открывать файлы в синхронном режиме, так что записи сбрасываются на диск немедленно. [3.3] diskio.cache_reduce_minutes = 9 задаёт в минутах, как часто µTorrent поджимает свой кэш. diskio.cache_stripe = 128 задаёт в КБ размер блока чтения из собственного кэша. Как блок обращения к hdd следует задавать степенями двойки. Можно подобрать размер для уменьшения отношения "из файла" к "из кэша" в статистике диска. diskio.coalesce_writes = true включает режим приоритетного объединения смежных частей в памяти для записи на диск более крупными порциями, желаемый размер которых задаётся в опции diskio.coalesce_write_size.
Как часто в кэше, составляющем малую долю большой закачки (а с малой проблем не возникает), оказываются смежные части, зависит от алгоритма запроса у пиров частей/блоков. Как разработчикам удаётся совмещать это со "случайным" порядком запроса у пиров частей/блоков, при желании можно выяснить наблюдением за заполнением собственного кэша записи µT, за порциями, которыми оно (заполнение) уменьшается. Можно придавить случайность прописыванием bt.sequential_download в файл settings.dat, т.е. последовательным скачиванием.
Понятно, что объединение подразумевает ожидание смежных частей, а также связано с каким-то (скорее всего крайне малым) потреблением ресурсов процессора и, главным образом, памяти, выделенной под кэш записи µT. Умолчальное true подразумевает признанную полезность объединения. Возможность отключения, как всегда, даётся для сравнения и экспериментов. diskio.coalesce_write_size = 2097152 (Исходная справка здесь достаточно туманна.)
1-й вариант перевода: задаёт граничную скорость, выше которой объединение смежных записей не работает; значение параметра указывается в байтах в секунду и работает, только если опция diskio.coalesce_writes включена.
2-й вариант: максимальный размер объединённой порции в байтах, который следует задавать кратно целочисленными степенями двойки 2^n, как и любого блока обращения к hdd. Тут уместно упомянуть, что максимальный размер блока, с которым работает HDD, не превышает 65536 секторов (32МБайт).
Исходный текст:
This option determines the size threshold for which µTorrent should write data out coalesced, and is relevant only if diskio.coalesce_writes is enabled. This value is interpreted in bytes per second, so please enter it as such. diskio.flush_files = true заставляет µTorrent ежеминутно закрывать file handles, что поможет уменьшить связанную с µT утечку памяти, якобы возможную из-за плохого управления Windows системным кэшем. Попробуйте активировать эту опцию при достаточных подозрениях на таковую утечку.
Есть повод и для деактивации этой опции. Вы это тотчас поймёте, когда попытаетесь облегчить нагрузку HDD за счёт записи достаточно больших порций последовательных данных. Расчёт аналогичен расчёту возможностей одиночного жёсткого диска: какие скорости скачивания клиентом он способен обслужить. Если учесть, что позиционирование на ближние дорожки по времени мало отличается от позиционирования на следующую и вообще неизбежность таковых коротких перемещений головок, следует признать вполне удовлетворительной порцию записи порядка размера дорожки диска, поскольку с дальнейшим увеличением положительный эффект будет увеличиваться всё медленней. Текущий размер дорожки Vseq*60/n ~ 1 МБайт, где Vseq [МБ/с]- текущая скорость последовательной записи (уменьшается примерно вдвое от начала к концу HDD), n [об/мин] - скорость вращения. Tseek по приведенной ссылке следует заменить на Ttrk2trk=1-2мсек.
В свете сказанного разработчикам стоило бы привязать такой сброс к объёму или проценту заполнения кэша (таки нечто подобное наблюдаю - ближе к полному заполнению увеличивается вероятность сброса кэша записи). Сейчас при небольших скоростях скачивания за минуту в кэше собираются не слишком большие непрерывные куски. В то же время на некоторых промежуточных билдах diskio.flush_files=*false приводит к быстрому росту заполнения кэша вплоть до попадания его в swap или исчерпания µT возможности адресации.
Размер записываемых порций последовательных данных отчасти можно увеличить последовательным скачиванием, отключением в настройках кэширования принудительного сброса, увеличением diskio.coalesce_write_size, но всегда стоит проверять сочетание ваших настроек с конкретным билдом (-ами) на излишнее распухание собственного кэша. Наблюдать за заполнением и сбросом собственного кэша клиента удобно на нижней вкладке "Скорость" - Статистика диска. diskio.max_write_queue = 32 устанавливает максимальную глубину очереди записей в клиенте, после которой он показывает перегрузку диска. [3.3]
Можете отодвинуть момент появления сообщения простым увеличением предела. Разумеется, вряд ли это можно назвать решением.
Эта опция появилась в 2.2.1 задолго до многопоточной работы с дисками в 3.3. Поэтому не надейтесь, что NCQ может как-то работать с этой внутренней очередью записей клиента, только он сам может переупорядочивать её, если разработчики заложат такую функциональность.
Кстати, у hdd своя очередь записей размером как раз в 32. diskio.minimize_kernel_caching = false. В случае *true This option disables compact allocation, might be POSIX only. [3.3] diskio.no_zero = true позволяет отключить заполнение нулями созданных файлов; введена в µT1.8.1, см.также предложение chupakabra от 19.092008 ускорить распределение файлов с помощью функции SetFileValidData(). Особенности обеспечения её действенности см. в п.2 и спойлере #0.4. diskio.resume_min = 100 Скачиваемые файлы переходят в режим "только раздача", если заканчивается свободное место соответствующего раздела. Их скачивание возобновится, если свободного пространства станет достаточно для полного скачивания или хотя бы означенных мегабайт.
-- 2010-01-26: Version 2.1 (build 17935)
- Change: Each file will switch to seed only if the volume it's being written to runs out of space. It will resume when either the volume can fit the whole torrent or more than resume_min megabytes become available.
Это описание исключили из окончательного чейнджлога 2.1 (build 17935) от 26.01.2010, что как бы символизирует неуверенность в ней. Но мы всё равно узнали)
Позже совсем избавились от этой фишки.
--2013-09-18: Version 3.4 (build 30127)
- Remove the diskio.resume_min setting/feature Cкрытый раздел дополнительных настроек Cкрытый раздел дополнительных настроек доступен по нажатию значка настройки (шестерёнки) [ - Дополнительно /Advanced, если откроется другой пункт] с уже зажатой парой клавиш ⇧Shift-F2
diskio.rsize_factor = 16 - скрытая опция. Последовательное скачивание (в порядке ослабления, т.е. в порядке роста случайного характера)
Следующая пара настроек исчезла в µT3.4.5.
bt.sequential_download = *true скрытых настроек скользяще присваивает высокий приоритет очередному десятку ещё не скачанных частей, что приводит к наиболее последовательному скачиванию частей закачки вне зависимости от следующей опции. Понятно, что скачивание может тормозиться, если очередной десяток скачиваемых частей слабо представлен в рое. Эта опция представляет угрозу устойчивости роя. bt.sequential_files = *true скрытых настроек позволяет скачивать последовательно файлы многофайловой закачки не меняя случайного характера скачивания частей внутри файлов. Для закачек, содержащих упорядоченные файлы (серий, например), - это разумный компромисс между угрозой устойчивости роя и непреодолимым желанием скорей насладиться воспроизведением. Prioritize by File Order - выборочно приоритизирующая файлы закачки опция, доступная через правый клик на вкладке "Файлы", применяется для предварительно выделенных файлов. Расставляет приоритеты от 16 до 1 только выделенным файлам согласно их порядку, заданному торрент-файлом, т.е. в порядке роста номера их первой части. Шестнадцатый и последующие файлы в выделении получают приоритет 1. bt.prio_first_last_piece = *true - спорной полезности дополнительная опция, приоритезирует загрузку начала и конца каждого файла всех загружаемых закачек, но лишь по 1МБайт или по одной части, в зависимости от того, что больше. Удобство весьма сомнительное, мало кто нуждается в постоянном тотальном просмотре/прослушивании столь малых "началок" и "кончиков" всех загружаемых файлов, зато вносит свой небольшой вклад в рандомизацию записи на диск.
- bt.prioritize_partial_pieces = *true доп.настроек заставляет µT прежде других пытаться запрашивать блоки недокачанных (початых) частей. Безусловно полезная опция (если работает, как следует).
Настройки settings.dat тем или иным образом вполне доступны и через стандартное окно настроек клиента (см.выше черты).
Однако некоторые из них (например, отключение Windows-кэширования начиная с µT3.2) доступны только через редактор вроде Bencode Editor'а.
Забавно, но начальные значения параметров, полученные при запуске клиента с пустым settings.dat, не всегда дефолтны. Например, gui.show_notorrent_node = false* у µT3.3.1.29594.
Дефолтно в settings.dat вообще нет записей типа cache.* или diskio.*. Соответствуящая запись появляется при изменении дефолтного состояния параметра/чекбокса (некоторые по ОК после Set) и исчезают (удаляются) при возврате дефолтного состояния любым способом, в том числе изменением значения или удалением записи в Bencode Editor'е.
[(i) - значит integer/целое, не забудьте указать этот тип/Type при ручном добавлении/Add, но не в поле имени/Name ]
Упомянутых ниже дефолтных значений (в отличие от недефолтных) вы не увидите в settings.dat из-за удаления клиентом дефолтных записей. Присутствие набора, приведенного ниже проверил в µT2.0.4-3.3. Собственно, все искомые записи settings.dat "выходят из сумрака" при изменении дефолтного состояния чекбоксов и опций доп.настроек на противоположное.
cache.disable_win_read (i)= 1 до µT3.1.3 (0 с µT3.2) Disable Windows caching of disk reads /Откл. Windows-кэширование чтения для µT (1 имеет смысл для скоростн.отдачи, ОЗУ, ЦП). Учитывается клиентом до билда 27498 включительно. cache.disable_win_write (i)= 1 до µT3.1.3 (0 с µT3.2) Disable Windows caching of disk writes /Откл. Windows-кэширования записи на диск для µT (1 имеет смысл при высокой скорости приёма, рекоменд.). Учитывается клиентом до билда 27498 включительно. cache.override (i)= 0 Override automatic cache size and specify the size manually (MB) cache.override_size (i)= 32 (128 в µT3.3 - видимо подсмотрели картинки выше)))) Размер в MB фиксированного кэша, заданного вручную. cache.read (i) = 1 Enable caching of disk reads /Включить собственное кэширование чтения cache.read_prune (i)= 1 Remove old blocks from the cache/Удалять устаревшие [>10 минут] блоки из кэша cache.read_thrash (i)= 0 Increase automatic cache size when cache thrashing/Увеличивать авто-размер при нехватке кэша cache.read_turnoff (i)= 1 Turn off read caching if the upload speed is slow /Отключать кэш чт. при низкой скорости отдачи [<= 40КБайт/с] cache.reduce (i)= 1 Reduce memory usage when the cache is not needed /Уменьшать потребление ОЗУ кэшем (может спровоцировать аномальную загрузку ОЗУ и ЦП) cache.write (i)= 1 Enable caching of disk writes /Включить собственное кэширование записи cache.writeimm (i)= 1 Write out finished pieces immediately/Выгружать из кэша завершённые части немедленно cache.writeout (i)= 1 Write out finished pieces immediately/Выгружать из кэша нетронутые блоки 16КБайт каждые 2 минуты
#2.5. Что поправить, если ОС на SSD (инкапсуляция на HDD)
Конечно, записывать на SSD случайные блоки закачки можно быстрее, чем на HDD. Однако, при увеличении размера блока записи и/или уменьшении степени случайности (см." Последовательное скачивание (в порядке..." в спойлере " #2.4. Описание настроек settings.dat, доп. и скрытых настроек по теме") надо уже сравнивать линейные скорости записи, и тогда HDD вполне хорош.
Мелкие закачки ускорять нет смысла, а крупные не особо полезут на SSD в силу малых емкостей последних. Тем проблематичнее хранение закачек на SSD - последует перенос завершённой закачки на HDD, далее новый цикл перезаписи значительной части SSD новой закачкой. При таком использовании SSD следует иметь в виду износ ячеек и уменьшение оставшегося ресурса перезаписи SSD.
В самом uTorrent нет ничего, что стоило бы ускорять с использованием SSD, поэтому при выборе размещения папок программы приходится руководствоваться другими идеями. Зато имеется неполезное для SSD.
По нескольким причинам стоит инкапсулировать µT и перенести получившийся "portable" с SSD на HDD, чтобы убрать с SSD часто перезаписываемые файлы resume.dat* (settings.dat обновляется пореже), скорость обновления которых вовсе ни на что не влияет. Заодно переустановка ОС и некоторые другие проблемки перестанут касаться инкапсулированного µT, находящегося на несистемном разделе. Останется лишь исправить путь в ярлыке или создать новый ярлык.
Инкапсуляция - перенос содержимого скрытой папки настроек %APPDATA%\uTorrent (скопировать это в адресную строку или строку Пуск-выполнить, нажать Ввод) в папку приложения, т.е. размещение файлов *.dat рядом с utorrent.exe. Ну да, кучу файликов *.torrent желательно убрать с глаз долой во вложенную подпапку с именем, скажем, торрент-файлы. Тогда следует прописать это имя (а не абсолютный путь, т.к. µT понимает относительные пути, в том числе переходы на уровень вверх ..\ с какой-то версии) в строке настроек "Хранить торрент-файлы в", отметив её галочкой.
При запуске µT проверяет наличие файла settings.dat в папке приложения. Найдя (даже пустой), считает папку настроек совмещённой с папкой приложения и в %APPDATA%\uTorrent уже не лезет. Такое уж заложено поведение, и оно позволяет безболезненно перенести содержимое умолчальной папки настроек %APPDATA%\uTorrent в папку приложения. Заодно в случае settings.dat (даже пустого) рядом с utorrent.exe не включается режим установки, что позволяет заменять экзешник (т.е. обновлять версию) и другие файлы, не пользуясь установкой программы вовсе.
Т.е. в любой момент и в любом месте можно соорудить новую инкапсулированную (т.е. независимую и портабельную) копию µT произвольной версии со своими файлами настройки settings.dat, списка resume.dat и др. Для того, чтобы копии могли работать одновременно, следует лишь прописать разные порты прослушивания в Настройках - Соединениях и запускать вторую (лучше обе) с ключом /recover через ярлык (создать ярлык и отредактировать его) или командную строку.
В отдельных критических случаях перескока между принципиально разными версиями следует поправить bt.transp_disposition (например, восстановить дефолтное значение). Отсутствующие на момент запуска необходимые файлы *.dat восстанавливаются в дефолтном состоянии. Если проблемы всё же возникнут, придётся сбросить настройки, т.е. стереть settings.dat, settings.dat.old, создать пустой текстовик и переименовать в settings.dat
------------
Перед любыми операциями на µT, а также периодически по мере роста списка, сохраняйте resume.dat (да и resume.dat.old не помешает) - убережёте себя от лишней работы по восстановлению "пустого списка".
Исходный пост
3. Перегрузка винта и процессора на малых скоростях обмена, тормоза аудио-видео при работающем клиенте, да и всего, что активно использует жёсткий диск
Если перечисленное случается при небольших скоростях обмена, стоит убедиться, что контроллер диска работает в соответствующем режиме (а не PIO, MWDMA или UDMA Mode 0-4 к примеру), или сразу удалить с последующей перезагрузкой соответствующий канал IDE ATA/ATAPI контроллера в диспетчере устройств.
Для PATA-дисков или SATA с включенным в BIOS'е режиме эмуляции (Legacy, Compatible) см.диспетчер устройств - IDE ATA/ATAPI контроллеры - загляните в свойства каждого канала - Дополнительные параметры, смотрите Текущий режим передачи. Для винтов PATA можно в AIDA64 или EVEREST'е: Хранение данных - ATA, там для конкретного диска смотрите Активный режим в 3-ей строке снизу первого блока свойств. Также можно посмотреть в HDDScan (достойная программа для HDD/SSD под Windows), далее Identity Info - DMA/PIO Support, какой режим помечен как Selected.
Может также помочь переустановка криво вставшего драйвера SATA.
#4. Программы
На время эксперимента в ваших силах ограничить "писателей" на соответствующий диск, желательно одним лишь клиентом.
Блоки записи смотрите с помощью HD Tune 5 - вкладка Disk monitor имеет график скорости ввода-вывода и нижние вкладки Block size, Position с соответствующими гистограммами, Programs , Statistics (общая и поблочная статистика ). HAB 1.3a на правой вкладке Statistic даёт суммарные для всех HDD слегка настраиваемые гистограммы распределений быстрых/медленных чтений/записей/Mapping Transfers.
Последовательное применение команды cmd /k fsutil fsinfo statistics C: с последующим делением UserFileWriteBytes на UserFileWrites тоже подскажет средний размер блока записи на диск (C: в примере) помимо другой статистики. SsdReady мониторит только запись (не чтение) в разделы HDD (в том числе внешних) и SSD (но не флэшек). Может потребоваться перезапуск программы, чтобы она увидела разделы. С включенной в настройках опцией Collect process names позволяет выяснить процессы, производившие запись в папки/файлы.
Не без греха, что быстро выясняется сличением показаний. Например, SsdReady в сравнении с ProcExplorer завышает в ~3 раза объёмы записи всех µT3.* на раздел NTFS, в ~2 раза - на раздел FAT32. Завышение стало заметным с µT2.2.1 (1.27 раза). Объёмы записи до µT2.0.4 включительно - не завышает. Process Explorer aka ProcExp - помощнее диспетчера задач (ДЗ) и аналогичных. В отличие от ДЗ и следующих в его фарватере (System Explorer, например) не дурит с названиями столбцов - см. такую ссылку и эдакую.
Последовательное чтение/запись мало зависят от размера блока ≥16КБ, в чём можно убедиться с ATTO Disk Benchmark (Direct I/O - без кэша винды, no Force Write - не откл.кэширование записей диска, Neither - queu depth=1) или HD Speed (заявлено использование WinAPI). RAMMap позволяет посмотреть распределение физической памяти и диагностировать исчерпание физической памяти распухающим системным кэшем, способным привести к падению отзывчивости и производительности приложений, значительному постоянному кэшированному дисковому чтению.
Устаревшее продолжение - https://rutr.life/forum/viewtopic.php?p=18707776#18707776
Дополнения/уточнения, эффективность кэширования - с.6 https://rutr.life/forum/viewtopic.php?p=31769989#31769989
Объявленные изменения в работе с диском и кэшем в µTorrent версий 1.4.1 - 3.2
Если вас интересует что-то, не удостоенное в этом посте хотя бы ссылкой, можете просмотреть все мои ответы текущей части этой темы,
1-й (архивной) части.
|
|
ptkovsky
Стаж: 15 лет 10 месяцев Сообщений: 79
|
ptkovsky ·
20-Окт-14 01:32
(спустя 6 лет 5 месяцев, ред. 20-Окт-14 01:32)
Вижу, шарящие ребята собрались, прокомментируйте мой случай. Есть какие-то мысли и идеи? Опытный взгляд сразу должен выявить проблему. Обязуюсь дочитать первый пост в процессе обсуждения. У меня гигабитный порт от провайдера. Возьмем ноутбук, на нем семерка. Версия клиента 2.0.4. Пытался найти чего-то покруче много раз, может что-то пропустил? Третьи версии, эта новая ветка, не? В логах ошибок нет. Advanced настройки вроде bt.transp_disposition обязательно поменять? У меня всегда было 31. Загрузки проца нет. Пока есть проблема с нахождением необходимого баланса в виде правильного размера кэша клиента и наличием свободной оперы. При среднем его размере, пускай около 1500 метров, на старте больших задач вроде 10-25 гиг, долго имеем disk overloaded, а потом только уверенную запись. Ставим паузу и ждем, теряя время, таким образом, несколько минут. Качал, получил около 40-50 Мб/с, рост на графике закончился ввиду окончания работы на задачей.
Эксперименты проводятся на таком железе:
Intel Core i5 2410M @ 2.30GHz вроде такого достаточно.
3.00GB Dual-Channel DDR3 @ 665MHz (9-9-9-24) маловато, для кэша и браузера с кучей вкладок. Плюс, на больших значениях кэша клиент просто виснет. Удалось сделать так, чтобы память не забивалась, но проявились синдромы, описанные выше.
Hitachi HTS725050A9A364 (SATA) медленный диск на 5400, но сейчас большинство и покрупней десктопные тоже такие. Проблема в нем?
Realtek PCIe GBE Family Controller только обновил драйвера на сеть.
Роутер Linksys E4200 первой ревизии, должен пропускать порядка 600-700 Мбит, как и современные топовые агрегаты.
Куда копать, чтобы сдвинуться с мертвой точки? Или у меня нормальные значения? Пока запилить это все и протестить на десктопе является проблемой, но увеличится ли на нем скорость? Отдачу пока даже не начинал ковырять. Pre-allocate all files - не включено. Менял много Advanced ключей.
|
|
Hannibal61
Стаж: 14 лет 8 месяцев Сообщений: 18111
|
Hannibal61 ·
20-Окт-14 01:37
(спустя 5 мин.)
|
|
Vicalf
Стаж: 15 лет 5 месяцев Сообщений: 67
|
Vicalf ·
20-Окт-14 03:27
(спустя 1 час 49 мин.)
|
|
Л. М. Гога
Стаж: 16 лет Сообщений: 19043
|
Л. М. Гога ·
20-Окт-14 08:56
(спустя 5 часов)
ptkovsky писал(а):
65533698на старте больших задач вроде 10-25 гиг, долго имеем disk overloaded
Заполнение нулями не выключено.
|
|
serulya
Стаж: 15 лет 5 месяцев Сообщений: 77
|
serulya ·
23-Окт-14 22:42
(спустя 3 дня)
Всем доброго времени суток. Имеется комп с SSD Samsung 830, гигабитный канал, реально гигабитный роутер и разные версии uTorrent. При кэше в 128 МБ не могу добиться в uTorrent скорости выше 400 Мбит/с (50 МБайт/с) без появления надписи диск перегружен. Увеличение кэша прибавляет максимум 40-50 Мбит к скорости. Скачивание на RAMDISK позволяет выжать 700 Мбит при абсолютно тех же настройках uTorrent. Я так понимаю, необходимо укрупнить блок, который записывается на диск. Как это сделать?
Выставил:
diskio.collense.write.size на 2097152
diskio.cche.stripe на 2048
толку ноль.
Если я не прав в своих предположениях, то что необходимо сделать?
Заранее всем спасибо за ответы.
|
|
anya1956
Стаж: 15 лет Сообщений: 889
|
anya1956 ·
24-Окт-14 00:30
(спустя 1 час 47 мин.)
serulya писал(а):
65575823
скрытый текст
Всем доброго времени суток. Имеется комп с SSD Samsung 830, гигабитный канал, реально гигабитный роутер и разные версии uTorrent. При кэше в 128 МБ не могу добиться в uTorrent скорости выше 400 Мбит/с (50 МБайт/с) без появления надписи диск перегружен. Увеличение кэша прибавляет максимум 40-50 Мбит к скорости. Скачивание на RAMDISK позволяет выжать 700 Мбит при абсолютно тех же настройках uTorrent. Я так понимаю, необходимо укрупнить блок, который записывается на диск. Как это сделать?
Выставил:
diskio.collense.write.size на 2097152
diskio.cche.stripe на 2048
толку ноль.
Если я не прав в своих предположениях, то что необходимо сделать?
Заранее всем спасибо за ответы.
serulya, не указаны:
а) ОЗУ компьютера;
б) операционная система компьютера;
в) тестирование скорости в speedtest.net.
Если использовать фиксированную кэш-память, то надо использовать максимальную кэш-память, при которой клиент не самоотключается или не зависает.
Клиенты мои старых версий в компьютерах с Windows 7 не самоотключаются и не зависают при выставленной кэш-памяти 1600 Мб, а с Windows 8 при 1200-1400 Мб.
Новые версии клиентов на моих компьютерах имеют порог самоотключения или crash-падения уже на уровне выше 900 Мб.
Для вашей скорости полезно Вам провести эксперименты с загрузками файлов:
а) с исходными настройками клиента (без выставленной кэш-памяти);
б) со старыми версиями клиентов с фиксированной кэш-памятью на уровне 3500 Мб, сняв ограничение на фиксированную кэш-память 1800 Мб.
Примечание:
|
|
Vicalf
Стаж: 15 лет 5 месяцев Сообщений: 67
|
Vicalf ·
24-Окт-14 04:00
(спустя 3 часа)
serulya
Попробуйте воспользоваться моими советами на пару сообщений выше.
|
|
Xant1k
Стаж: 16 лет 6 месяцев Сообщений: 3675
|
Xant1k ·
30-Окт-14 13:23
(спустя 6 дней, ред. 30-Окт-14 13:23)
О проблеме при запуске клиента от админа. Решение добавить бы https://rutr.life/forum/viewtopic.php?p=64525424#64525424 в шапку.
|
|
k1rza
Стаж: 17 лет 4 месяца Сообщений: 3912
|
k1rza ·
31-Окт-14 16:53
(спустя 1 день 3 часа)
В последнее время беспокоит ошибка IO Error:
Это бы сильно не мешало, но отваливаются раздачи из-за этого. Настройки кэширования крутил и так и сяк, не получается добиться стабильной работы.
Но возможно причина в том, что я одновременно использую DC++ и utorrent, хотя раньше они вполне вместе уживались. В общем помогите с решением проблемы.
|
|
Xant1k
Стаж: 16 лет 6 месяцев Сообщений: 3675
|
Xant1k ·
31-Окт-14 20:32
(спустя 3 часа, ред. 31-Окт-14 20:32)
Ох, давно хотел помусолить эту темку)) прочитал её, и...
И так, по порядку.
Часть 1.
В строке состояния надпись: Сообщение "Диск перегружен 100" означает что диск(hdd) не успевает за собственным кэшем клиента, т.е. диск не успевает обрабатывать подаваемые/запрашиваемые данные.
- за кэш клиента отвечают эти 2 опций
Причина: при первом запуске большого торрента, поскольку перед записью Windows необходимо создать файл.
Примечание: Версий 2.0.х - 2.2.х отключение собственного кэша записи игнорируется клиентом. Как избавиться от этого сообщения о перегрузке в начале скачивания?
- Следует избавиться от прописывания нулей при создании файлов-заготовок закачки...
- Достаточно запускать клиент от имени администратора.
При этом придётся сохранять и вручную запускать торрент-файлы, т.к. автоматическое добавление торрента работать не будет. Причём в случае Win7, 8 одной лишь административной учетной записи не обойдётесь, так как при включенном UAC абсолютно все задачи по умолчанию запускаются с правами обычного пользователя.
- Проверить/обеспечить право на обслуживание томов (спойлер #2.2). В Win7, 8 при включенном UAC это не удаётся.
Примечание: если аккаунт не входит в группу администраторов, надо обеспечить право на обслуживание томов.
Необходимо проверить прописывание нулей.
- Попробовать заменить собственное кэширование записи на виндовое в настройках µT Вспомогательные меры/приёмы избавления от прописывание нулей
- bt.prioritize_partial_pieces = *true заставляет µT прежде других пытаться запрашивать блоки недокачанных (початых) частей. Безусловно полезная опция (если работает, как следует).
- Попробуйте запускать клиент под Win7, 8 в режиме совместимости с WinXP.
- В случае однопоточно работающего с дисками клиента (до µT3.2 включительно) - отдельная копия клиента для каждого физического диска с закачками. Тогда каждый диск перестанет зависеть от чужих тормозов.
- Не более одной активной закачки на каждый физический диск. Всё написанное касается 2 версий.
На мой взгляд получилось лаконично, информативно и главное доступно.
есть так сказать недочёты которые надо править, но это не сейчас.
Это была адаптация #0.4 FAQ-путеводитель. Остальные тоже будут, со временем. Когда?- не скажу точно.
Ещё есть вопросы.
1) Это относится только к 3 версий?
Цитата:
- Эрзац-решение заключается в дополнительной настройке diskio.sparse_files = *true, т.к. в случае использования разреженных (sparse) файлов прописывания нулей нет. Однако эта настройка бессильна в случае неадминистраторского аккаунта с дисковой квотой, не работает с pre-allocate all files, а также с FAT*, и чревата значительной фрагментацией из-за случайной записи (последовательное скачивание единственной закачки поможет бороться с этим, но в случае нескольких одновременных - всё равно получите фарш, см.пример).
Забавно, но разработчики в минуту отчаяния включали упомянутую опцию по умолчанию
Цитата:
-- 2011-11-22: Version 3.1 Release Candidate 1 (build 26495)
- Change: enable windows disk cache for writes by default. Improves write performance, especially with sparse files
- Change: enable sparse files by default on win7 (disabled on vista because of filesystem bugs). This should fix most disk-overload issues
Если вы на win7 в клиенте билда >26495 не видите true по умолчанию для diskio.sparse_files, значит разработчики не сочли таки это удовлетворительным решением.
Цитата:
По поводу diskio.sparse_files, предложенного ранее. Помогает от зависания, но очень сильно фрагментирует жесткий диск. Возможно надо выставлять по одной закачке одновременно в таком случае. Фрагментация возросла с 0% до 15%, а на следующий день до 27%. Это за сутки закачки. Скачивал оцифровки Yello где-то 10 торрентов - всего 35 Гб. По 5 одновременно качались. Надо будет попробовать по одной поставить, может тогда не будет фрагментироваться. Или уже подлатали с обновлением каким-нибудь и можно включать diskio.sparse_files обратно? В общем, такая беда... Прошу учесть. Поставил опять diskio.sparse_files *false, посмотрим, может и вправду с обновлением винды исправилось... Как буду что-нибудь большое качать, узнаем.
2) Подпункты кэширования клиента.
Они относятся к основным и отключаются при снятии 2ух чекбоксов?
|
|
Супер Шмель
Стаж: 15 лет 11 месяцев Сообщений: 1975
|
Супер Шмель ·
03-Ноя-14 20:55
(спустя 3 дня)
Добрый вечер. Качал сегодня в течение дня раздачи и всё было хорошо, как вдруг на этом торренте полезла ошибка "диск переполнен..." при том, что я на пк ничего не менял и программа сама не обновлялась . кувыркался с инструкцией и версиями уторента всё одно "диск переполнен...". Если кеширование отключить вовсе ошибка не выскакивает, но и диску приходиться не сладко
сейчас снёс эту муру поставил первый раз BitComet и он сейчас уже скачал 18% и всё хорошо. Не подскажите, что случилось с уторрентом?
PS система Windows 10 Technical Preview Enterprise x64 (9860)
|
|
тыщ
Стаж: 16 лет 6 месяцев Сообщений: 1427
|
тыщ ·
03-Ноя-14 21:59
(спустя 1 час 3 мин., ред. 03-Ноя-14 22:09)
Супер Шмель писал(а):
65700711Если кеширование отключить вовсе ошибка не выскакивает, но и диску приходиться не сладко
pic
Обратите внимание на статистику записи диска в клиенте на вашей картинке. "386 Мб из 0.0 Кб" - остаточное заполнение после отключения или кэш записи клиента всё же продолжает работать? Тот же вопрос к графикам и записанным 484 Мб "в кэш".
Давно можно было определиться с этим, если бы вы чётко сформулировали, что именно решаете и чего добились.
Что ж, погадаем вместе)
Вы связали цепочкой 4 своих поста - приходится анализировать их вместе. В самом раннем обозначили две проблемы.
1-я: включенный UAC не позволяет обеспечить право на обслуживание томов. Без последнего поста четвёрки не получилось бы исключить эту проблему из предполагаемых)
2-я: как добавлять торренты, если клиент запущен от администратора и выскакивает окошко сообщения
---------------------------
µTorrent
---------------------------
An older version of µTorrent is running.
Please shut down µTorrent and try again.
---------------------------
ОК
---------------------------
Раздражает само окошко или что-то с ним связанное? Пугает предложение завершить µTorrent? У меня по нажатии "OK" завершается именно это "лишнее" окошко, и появляется стандартное окошко добавления торрента. [У кого не получается добавить из браузера без промежуточного сохранения торрент-файлика, тот добавляет сохранённый двойным кликом, получая то же безобидное сообщение (в качестве "лишнего" звена) при запущенном от администратора клиенте.]
Тут вы не сформулировали задачу и не обозначили, что именно для вас станет решением. Второй пост четвёрки не добавляет ясности.
Xant1k писал(а):
53884086Получилось найти кое какие утилиты, которые позволят запускать от имени админа клиент и торрент-файлы можно спокойно загружать. Т.е софт в исключения UAC добавляет программу.
Спокойно - это как? У меня (см.выше) спокойно загружаются?
Добавление в исключения UAC убирает раздражающее сообщение (вы не сообщаете об этом) или речь уже о способах запуска от админа, т.е. уже 3-я (не сформулированная вами) проблема?
Наконец 3-й пост четвёрки с "решением". Какой проблемы? Дайте хоть адрес, откуда взяли решение - может там сформулирована задача.
В общем, добавьте ясности постановке задачи и результатам, а борьбу с софтом пока оставим последователям)
|
|
Супер Шмель
Стаж: 15 лет 11 месяцев Сообщений: 1975
|
Супер Шмель ·
03-Ноя-14 22:01
(спустя 1 мин.)
тыщ
просто я на ходу в настройках отключил кеширование (это статистика когда ошибка диска была)
|
|
_Аркадичь_
Стаж: 11 лет 9 месяцев Сообщений: 1035
|
_Аркадичь_ ·
04-Ноя-14 00:25
(спустя 2 часа 24 мин.)
Супер Шмель
Фантастика! Вы умудрились положить клиент
=старой версии,
= на одном торренте,
= на не системный хард!
|
|
trandinr.2011
Стаж: 13 лет 8 месяцев Сообщений: 40
|
trandinr.2011 ·
04-Ноя-14 05:12
(спустя 4 часа)
_Аркадичь_ - все эти аргументы слабоваты если уторрент не настроен должным образом. Повиснуть может и при 5 мб так и при 1600мбит+
|
|
Супер Шмель
Стаж: 15 лет 11 месяцев Сообщений: 1975
|
Супер Шмель ·
04-Ноя-14 07:38
(спустя 2 часа 26 мин.)
_Аркадичь_
сам в шоке
|
|
тыщ
Стаж: 16 лет 6 месяцев Сообщений: 1427
|
тыщ ·
04-Ноя-14 16:12
(спустя 8 часов, ред. 04-Ноя-14 16:12)
_Аркадичь_ писал(а):
65703322Фантастика!
~50MB/s Disk transfer Rate, 100% Active time показывает Task Manager, т.е. диск полностью загружен смешанной нагрузкой (значительную часть времени головки тратят на позиционирование).
Клиент скачивает "в кэш" со скоростью 4.14 MB/s более-менее равномерно, из кэша на диск пишет более 4-х раз медленнее (1MB/s), что видно по площадям под полкой и под пиками на левом-нижнем графике статистики диска и по отношению (484Мб в кэш)/(117Мб в файл).
Короче, диск лишь ~2% текущей скорости уделяет записи того, что скачивается клиентом - не удивительно, что появляется сообщение "Диск перегружен". Трудно представить, что Супер Шмель забыл, как грузил диск на 98% сторонней записью (см. Write speed 53.6MB/s в ДЗ), поэтому уверенно припишем эту нагрузку ОС. Ешё раз заметим постоянство этой нагрузки записью и нагло предположим, что это прописывание ОСью нулей в файлы-заготовки 14GB-закачки.
Не фантастика)
Пожалуй, так и можно использовать послеэкспишный Диспетчер Задач (ДЗ) для косвенного выявления неотключенного зануления файлов-заготовок закачки. Иными словами, подозреваем прописывание нулей, если видим достаточно длительное превышение по объёму (средней скорости) записи на диск в ДЗ над записью на диск (в статистике диска) самим клиентом и не можем приписать это другим задачам или же отвергнуть прописывание. Подозреваем достаточно уверенно, чтобы принимать меры: подтверждать прописывание способами попрямее и добиваться его действительного отключения в ОС для клиента.
|
|
final_headshot
Стаж: 12 лет Сообщений: 10
|
final_headshot ·
10-Ноя-14 19:09
(спустя 6 дней)
Недавно столкнулся с этой проблемой, когда начал качать торрент на 180 Гб (точнее, я качал 25 Гб оттуда). Потом такая же проблема появилась, когда я уже качал отдельный торрент на ~25 Гб. Хотя недавно я качал ~75 Гб и было норм.
В первом посте написано следующее:
Цитата:
- Попробуйте запускать клиент под Win7,8 в режиме совместимости с WinXP. Механизмы не ясны, по-человечески не проверено, но якобы помогает. Проверьте уже, пользователи Win7,8, и доложите.
Так вот докладываю, на винде 8.1 работает
|
|
тыщ
Стаж: 16 лет 6 месяцев Сообщений: 1427
|
тыщ ·
12-Ноя-14 21:23
(спустя 2 дня 2 часа)
final_headshot писал(а):
65783797на винде 8.1 работает
Устойчиво? А если отключить режим совместимости, проблемы так же устойчиво возвращаются?
|
|
Xant1k
Стаж: 16 лет 6 месяцев Сообщений: 3675
|
Xant1k ·
15-Ноя-14 17:13
(спустя 2 дня 19 часов, ред. 15-Ноя-14 20:53)
тыщ
Цитата:
Давно можно было определиться с этим, если бы вы чётко сформулировали, что именно решаете и чего добились.
Цитата:
У меня по нажатии "OK" завершается именно это "лишнее" окошко, и появляется стандартное окошко добавления торрента.
А у меня и знакомых не появляется. Мой предложенный способ и есть решение.
Полное избавление от этого окна, запуск торрент-файла двойным кликом и полноценная работа diskio.no_zero = true
|
|
Piarb
Стаж: 14 лет Сообщений: 6
|
Piarb ·
26-Ноя-14 03:30
(спустя 10 дней, ред. 26-Ноя-14 03:30)
тыщ
Заранее извиняюсь за флуд, на этом форуме привык просто читать, а не флудить, но (!!!)
огромное Вам спасибо за Ваши труды.
Подробное изучение потока ваших мыслей и ссылок к ним
позволило прекратить многолетнее скакание по разным версиям utorrent и настройкам к ним.
За несколько лет перепробовал десятки версий, но именно этот пост привел к состоянию гармонии )
И, если это сообщение заставит вас улыбнуться,
то пусть это продлит вашу жизнь хотя бы на 1 минуту ) Совет для неудовлетворенных - не ленитесь, читайте и вникайте )
|
|
Tvshow
Стаж: 16 лет 1 месяц Сообщений: 101
|
Tvshow ·
29-Ноя-14 00:45
(спустя 2 дня 21 час, ред. 29-Ноя-14 00:45)
Долгожданный переход на тариф 365Мбит/сек был омрачен... Диск перегружен и всё тут, висит, снижается скорость, кэш забивается независимо от размера, способы и настройки из первого поста попробовал... но что-то бестолку... да и парится с настройкой надоело Решил скачать Unforgettable (17,7 Gb)... и опять фэйл... скорость 0
Стал качать на системный SSD - и вот те на... 8 минут и скачано! никаких "диск перегружен", зависаний... скорость за 40Мбайт/сек....
В общем для себя понял следующее, придётся раскошелится на второй SSD (системный маленький, да и его полное заполнение приведет к потери скорости).
Качать на SSD - затем кидать на трёхтерабайтник и сидировать уже с него.
Похоже проблемы не только из-за кривости настройки, а всё-таки и из-за скорости диска, раз скачивание на быстрый диск сразу устранило все проблемы при тех же настройках. Ресурс SSD невелик, но как написано в описании "при перезаписи 40 Гб в день - пять лет"
Заранее прошу прощения автора темы, но другие решения мне не помогли. А кто-нибудь еще пробовал качать на SSD, если да то не появлялись ли у Вас глюки и ошибки? Всё-таки хочется быть уверенным на 100% что SSD это решение этой проблемы.
|
|
_Аркадичь_
Стаж: 11 лет 9 месяцев Сообщений: 1035
|
_Аркадичь_ ·
29-Ноя-14 00:48
(спустя 2 мин.)
Tvshow
Ну естественно, что при закачке на SSD никаких проблем даже у криво настроенного клиента не будет, у него же IOPS'ов несоразмерно больше, чем у простого HDD. Под торренты Вам тогда лучше брать SSD на MLC - у них ресурс перезаписи высокий. И даже нет нужды покупать самый-самый.
|
|
BalticX
Стаж: 15 лет 4 месяца Сообщений: 1718
|
BalticX ·
29-Ноя-14 01:09
(спустя 21 мин.)
SSD - это мнимое решение проблемы. Да, запись идёт быстрее. Как и заполнение заготовки под файл нулями. Но стоит подумать о том, что данные при этом на ваш любимый SSD пишутся дважды (заполнение нулями + собственно данные), как всё выглядит не так уж радужно.
Рекомендую всё таки разобраться, как избавиться от заполнения нулями.
|
|
Супер Шмель
Стаж: 15 лет 11 месяцев Сообщений: 1975
|
Супер Шмель ·
29-Ноя-14 09:29
(спустя 8 часов)
Tvshow
попробуйте покачать через BitComet, если не сложно отпишитесь мне в л.с. или в теме
|
|
Tvshow
Стаж: 16 лет 1 месяц Сообщений: 101
|
Tvshow ·
01-Дек-14 14:09
(спустя 2 дня 4 часа)
Попробовал BitComet 1.37 (64-bit)
Сначала подвисал через каждые несколько секунд и отвисал через столько же, увеличил кэш - поставил 4000Мб - закачка пошла, кэш держался 2.5-3.3 Гб скорость очень сильно скакала от 12000 до 45000. иногда показывая очень большие значения, физически невозможные, по ощущениям скорость взлетала после обащения к диску, хотя кэш не заполнялся до 4000.
В итоге клиент с дефолтными настройками, кроме кеша он 4000 скачал задание в 17,74 Гб за 17:28, при средней скорости 17749. Из этого времени около минуты заняло подвисания-настройка кэша до 4000Мб.
При этом не запускались никакие проги и был открыт только браузер и Paint
Качал на диск Green 3Tb
он может так
P.S. Есть ли на трекере тестовые торренты с разными размерами частей и объёмами с большим количеством сидов чтобы проверять клиенты, чтоб точно качались и на максимальной скорости... иначе пользователю не понять он виноват или сидов мало и/или они не раздают?
|
|
Да_Я_Такой
Стаж: 16 лет 1 месяц Сообщений: 905
|
Да_Я_Такой ·
02-Дек-14 19:19
(спустя 1 день 5 часов)
Tvshow
Эх, еще бы qBitTorrent оценил бы... Я на нем сейчас сижу, про перегрузку забыл давным давно) Правда 100мбит/с всего.
|
|
final_headshot
Стаж: 12 лет Сообщений: 10
|
final_headshot ·
04-Дек-14 19:30
(спустя 2 дня)
тыщ
за почти месяц работы в режиме совместимости проблем не возникало, я его отключать не пробовал
|
|
byEnakin
Стаж: 15 лет 3 месяца Сообщений: 9
|
byEnakin ·
08-Дек-14 23:29
(спустя 4 дня, ред. 08-Дек-14 23:29)
utorrent 3.3.2 build 30303 32-bit
Windows 7 Нули не пишет, все хорошо. В какой-то момент начинается 100% загрузка диска. При этом все закачки "в процессе", т. е. распределения и прочей мути характерной для нулей нет.
Стопаю все загрузки, выключаю кеш, включаю принудительное выделение памяти в 1 ГБ под кеш. Пока загрузки останавливаются в статусной строке видно как заполняется кеш:
Загрузка диска 11%... 16%... 21%... 31%...
На 31 процентах все остановилось и все. Смотрю Process Monitor - на диск ничего не пишет. Process Explorer I/O по нулям показывает. Такое ощущение что помер поток отвечающий за сброс данных с кеша на диск.
Галку сбрасывать нетронутые блоки каждые 2 минуты ставил и 2 минуты ждал - никакого эффекта. Такое поведение нормально? Есть какие-то решения, кроме рестарта клиента? Возможно есть информация которую нужно почитать по теме?
|
|
|