Цитата:
rugas сказал(a):
1. Пожалуй основной причиной "Перегрузки 100%" является всё-таки исчерпание кэша записи. Мне удавалось сознательно спровоцировать эту ошибку, принимая на 20Мбитах 5-6 раздач с крупной (16Мбайт) нарезкой. Сообщение появляется, как только "полоска" заполненности кэша в статистике записи доходит до правого края. Очередь в статистике записи начинает дико расти, в закладке "Части" увеличивается море полностью принятых кусков. Раздачи при этом тоже практически останавливаются, да и вся система еле дышит. Увеличение размера кэша до дурных значений не помогало - он всё равно переполнялся. С 1-2 раздачами клиент справлялся.
2. Может, и в самом деле, дополнительным фактором является приём на тот же физический диск, где установлена система? На нотбуке у меня альтернативы нет
PS. Неотключение прописывания нулями через diskio.no_zero даёт немного другую картину - возврата к нормальному состоянию через 20 минут не будет. Хотя как катализатор проблемы - средство отличное
3. Кстати, а не достаточно ли для обеспечения срабатывания diskio.no_zero = "true" при включённом UAC-е просто запускать uTorrent с правами администратора?
|
[COLOR="DarkRed"
]1.[/color] Немного неправильная трактовка...
Надо, прежде всего, исходить из следующего:
кэш Windows (всегда в ОЗУ),
собственный кэш клиента (нормально в ОЗУ),
кэш/буфер диска (в ОЗУ диска). Рассмотрим что происходит...
Действительно, при скачивании сообщение "Перегрузка диска" соответствует переполнению собственного кэша, т.е. что-то "съедает" оперативную память (ОЗУ). Известно, что в первый момент клиент создаёт файлы-заготовки для будущей закачки и прописывает их нулями. Но, пока идёт прописывание нулей в файлы-заготовки закачек - быстрое, но далеко не мгновенное,
скачивание идёт (одновременно!) в кэш клиента и/или кэш Windows с соответствующим "пожиранием" памяти. Именно поэтому при закачке больших файлов (или многа мелких) кэш клиента успевает заполниться до упора... Т.е. первопричиной является ИМЕННО прописывание нулей, что вызывает переполнение кэша (поскольку закачка в это время идет в него) и, соответственно (как следствие уже этого переполнения), появление сообщения "Диск перегружен 100%".
Кстати, Ваш эксперимент подтверждает всё это... Простая арифметика: Вы хотите скачать 5 файлов х 10Гб=50Гб... Кэш 10Гб ( предположим)... Риторический вопрос... Что закончится быстрее: процесс прописывания нулей в 50Гб или заполнение кэша в 10Гб?
2. Действительно, оптимально держать закачки/раздачи
НЕ НА ТОМ ЖЕ жёстком диске, где стоит работающая ОС (+ головка винта больше "мечется" по диску, процу надо одновременно, на одном винте: прочитать программу, расписывать нули и пр. и пр... и всё это в разных физических местах винта... То-то он, бедный, крутится как подорванный... Про срок его службы я уже не говорю! ).
Тоже самое можно сказать и о файле подкачки, он может усугубить перегрузку диска с закачками, если будет на нём. Встречаются случаи, когда при быстром скачивании/раздаче стремительно заполняется ОЗУ (чаще из-за Windows-кэширования, но и
собственный кэш µTorrent'а может разрастаться, если не фиксирован), что заставляет ОС сбрасывать "лишнее" из ОЗУ в файл подкачки.
Пример. Если файл подкачки будет на том же диске, что и закачки, даже система может тормозить, не говоря уже о скачивании (с этим сам сталкивался, правда уже очень давно, когда был 1 винт - почему и рекомендуют держать файлы для скачивания/раздачи на ДРУГОМ ВИНТЕ). Вот почему Windows-кэширование записи в µTorrent'е по умолчанию выключено. В упомянутых случаях важно ограничить рост потребления памяти, отключив Windows-кэширование чтения и/или зафиксировав кэш клиента.
3. Именно это я и предложил сделать
здесь. При этом пользователь Вася получает ВСЕ права Администратора! ("Шифруется", хад ). И может творить в компе УСЁ шо хотит!