Windows XP ведет себя странно, когда жесткий диск интенсивно используется


2

Пока что это происходит в двух ситуациях: когда я использую sabnzbd, после того, как он загрузил файл и использует par2.exe, чтобы собрать его вместе, и только сейчас, когда я дефрагментирую жесткий диск от виртуальной машины, на которой я работаю.

Такое использование жесткого диска приводит к тому, что XP перестает отвечать на запросы. Многие элементы графического интерфейса не будут щелкать или имеют сильно задержанные клики. В Chrome всякий раз, когда я захожу на вкладку, которую я только что открыл несколько минут назад, вся страница перезагружается крайне медленно - я могу видеть загрузку графики страницы построчно. Следует отметить, что в первом случае мой файл подкачки находится на совершенно отдельном жестком диске, чем тот, на котором я выполняю эти операции, а во втором случае он находится на отдельном разделе, но на том же жестком диске. Такое же поведение происходит, хотя.

Любые объяснения, почему это происходит? Любые предложения о том, как этого не произойдет?

У меня есть 4 ГБ ОЗУ и двухъядерный процессор, и мой процессор даже не приближается к 25%, когда эти действия продолжаются, поэтому это не похоже на случай нехватки ресурсов. Разве XP не эффективна в такой ситуации?


2
Только две ситуации? Не переходите на Vista, если вам не нравятся медленные элементы пользовательского интерфейса.
Дэвид Торнли

Знаете ли вы, используете ли вы диски SATA или PATA?
Джаред Харли

Ответы:


2

Примечание: я предполагаю, что у вас здесь есть вращающийся дисковод. Показатели производительности в этих областях сильно различаются для твердотельного хранилища.

В то время как современный накопитель может поддерживать много десятков Мбайт в секунду при выполнении массовых операций чтения и записи, обе описываемые вами операции включают в себя как минимум два места на диске, поэтому возникает много движений головы. Задержка движений головы оказывает огромное влияние на пропускную способность, потому что каждый раз, когда приводу необходимо переместить головки, возникает задержка, с которой они начинают толкаться в нужном месте, задержка, ожидающая их урегулирования, и затем задержка, ожидающая правильного положения. часть диска крутится мимо. Эти задержки сами по себе невелики (в среднем, даже не 10 нс на движение в среднем для большинства современных накопителей), но если накопитель может выдавать 100 Мбайт / с при полном потоке 10 мс, каждое движение тратит время передачи данных 1 Мбайт.

Когда вы дефрагментируете диск, утилита тратит большую часть своего времени на чтение из одного места на диске и запись в другое, небольшое количество блоков за раз. Извлечение содержимого из набора файлов, защищенных паром, еще хуже, поскольку читаются как минимум два файла (исходный файл и один или несколько файлов четности), а также файл вывода, в который производится запись. Даже простая операция копирования большого файла имеет эффект. Все это исключает движения головы, необходимые для поддержания структуры каталогов и карт свободного пространства в актуальном состоянии при перемещении блоков и / или расширении файлов. Запуск ВМ может быть аналогичным образом требовательным в зависимости от того, что ВМ делает в данный момент (и ВМ уменьшит объем ОЗУ, доступный на хост-машине для использования в качестве кэша / буферов, что может ухудшить ситуацию,

При этом, если приложению с графическим интерфейсом нужно запросить хотя бы небольшой ввод-вывод, оно может быть поставлено в очередь за всем остальным происходящим. Если приложение не является полностью многопоточным, это может привести к тому, что оно «заблокирует» ожидание завершения операции ввода-вывода, что означает, что оно не может отвечать на какие-либо сообщения (например, «пользователь щелкнул вас здесь») в очередь событий Windows, пока она не получит свою очередь. Чем больше будет происходить одновременно, тем хуже будет становиться, и вы не заметите этого в показаниях «ЦП занят», потому что ЦП не занят - он находится в ожидании завершения операций ввода-вывода в большинстве случаев в этих условиях. ,

Если у вас есть два или более дисков, вы можете значительно уменьшить эффект, который он оказывает на вас, распределяя нагрузку на диски. Если ваша ВМ находится на отдельном диске от вашей основной ОС, они не будут бороться за обслуживание ввода-вывода, когда ВМ занята, пока хост дефрагментирует системный раздел. Кроме того, извлечение архива с одного диска и запись вывода на другой будет заметно быстрее, чем извлечение его на тот же диск, потому что операция чтения напрямую не конкурирует с операцией записи для позиционирования головки на одном диске.


Я думаю, что это, вероятно, ответ. Единственное, что у меня не только один жесткий диск. Скажем, у меня есть диск Z, сам по себе, и я делаю там все интенсивные операции. Повлияет ли это на производительность моей системы, даже если остальная часть системы никогда не будет даже смотреть на Z?
user9430

Я посмотрел и: жесткий диск виртуальной машины был на том же жестком диске, что и мой файл подкачки (но не мой системный диск или диск, на котором установлены все мои приложения). Может быть, это объясняет 2-й. Во-первых, файл par'd находился на том же диске, что и файл подкачки, а его выходные данные отправлялись на диск с моими приложениями и там, где установлены окна. Это, вероятно, ответ тогда .. спасибо!
user9430

решение? купить 256 ГБ твердотельный накопитель ... = P.
user9430

Расположение файла (ов) подкачки будет иметь значение только в том случае, если пространство подкачки активно используется (в этом случае больше ОЗУ может быть ответом, хотя это означает обновление ОС, если вы используете 32-разрядную версию и уже имеете 4 ГБ).
Дэвид Спиллетт

Хотя, если на компьютере происходит обмен всей остальной дисковой активностью, это определенно объясняет неотзывчивость GUI.
Дэвид Спиллетт

3

Дефрагментация жесткого диска на машине приведет к замедлению работы любой машины. Он перемещает много данных повсюду.

Какой у тебя компьютер? У вас есть одно или двухъядерный процессор? Сколько баран? Есть много факторов, которые могут вступить в игру здесь.

Скорее всего, это процесс зависания или что-то в этом роде. Вы сказали, что работаете на ВМ. Они могут занимать много ресурсов, если вы выполняете работу на ВМ и хост-ОС. ВМ очень интенсивно работают с процессорами. Он работает под управлением всей другой ОС под вашей основной ОС.


Да, но это виртуальная машина, поэтому она обрабатывает только один файл на реальном жестком диске. Почему мой компьютер замедляется в результате? Я не нажимаю на кнопку «Пуск» -> «Программы», когда к жесткому диску, отдельному от моего диска Windows и моего файла подкачки обращаются.
user9430

Сколько у Рама компьютера? и сколько Ram выделено для VM?
Troggy

Один сильно обработанный файл может занимать большую часть доступной скорости передачи жесткого диска, особенно в виртуальной машине, поэтому все остальное замедляется.
Troggy

500 МБ на виртуальной машине, 4 ГБ на хосте (таким образом, 3 ГБ причина ограничения XP). двухъядерный процессор. но то же самое происходит даже без виртуальной машины, но только когда par2.exe (из загрузчика новостных групп) работает как 5-гигабайтная загрузка.
user9430

ваша виртуальная машина не знает, что это виртуальный жесткий диск, и, конечно, она не обрабатывает виртуальный жесткий диск как один файл. если вы хотите, чтобы виртуальный жесткий диск представлял собой один непрерывный файл, временно сделайте резервную копию, удалите оригинал, дефрагментируйте реальный HD, а затем восстановите резервную копию в ее исходное местоположение

2

По правде говоря, вы делаете слишком много всего за один раз. То, что вы видите, является узким местом - жесткий диск просят сделать несколько вещей одновременно (некоторые с более высоким приоритетом, чем другие), так что такие вещи, как щелчки в графическом интерфейсе, «ждут» своей очереди для обработки.


Однако создается впечатление, что щелчки по графическому интерфейсу и доступ к жесткому диску можно выполнять одновременно.
user9430

2

Проблема может быть вызвана тем, что рассматриваемая активность (например, дефрагментация) занимает очень большой процент ЦП. Это оставляет очень мало для пользовательского интерфейса, следовательно, отсутствие реагирования.

Вы можете попробовать снизить приоритет par2.exe или дефрагментации. Перейдите в «Диспетчер задач»> «Процессы», щелкните правой кнопкой мыши на вызывающем процесс и выберите «Установить приоритет»> «Низкий»

Вы используете одноядерный процессор? Наличие 2 или более процессоров (или ядер) позволит запускать пользовательский интерфейс на том, на котором нет задачи.


На самом деле мой процессор, как для par2, так и для дефрагментации, использует 0-5%. Я попытался снизить приоритет как на par2.exe, так и на sabnzbd, но это не дало эффекта. Если бы это была высокая загрузка ЦП, я бы понял, но здесь, похоже, у моего компьютера достаточно ресурсов и он просто не использует их.
user9430
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.