2

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

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

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

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

4 ответа4

3

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

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

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

2

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

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

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

2

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

2

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

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

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

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .