Примечание: я предполагаю, что у вас здесь есть вращающийся дисковод. Показатели производительности в этих областях сильно различаются для твердотельного хранилища.
В то время как современный накопитель может поддерживать много десятков Мбайт в секунду при выполнении массовых операций чтения и записи, обе описываемые вами операции включают в себя как минимум два места на диске, поэтому возникает много движений головы. Задержка движений головы оказывает огромное влияние на пропускную способность, потому что каждый раз, когда приводу необходимо переместить головки, возникает задержка, с которой они начинают толкаться в нужном месте, задержка, ожидающая их урегулирования, и затем задержка, ожидающая правильного положения. часть диска крутится мимо. Эти задержки сами по себе невелики (в среднем, даже не 10 нс на движение в среднем для большинства современных накопителей), но если накопитель может выдавать 100 Мбайт / с при полном потоке 10 мс, каждое движение тратит время передачи данных 1 Мбайт.
Когда вы дефрагментируете диск, утилита тратит большую часть своего времени на чтение из одного места на диске и запись в другое, небольшое количество блоков за раз. Извлечение содержимого из набора файлов, защищенных паром, еще хуже, поскольку читаются как минимум два файла (исходный файл и один или несколько файлов четности), а также файл вывода, в который производится запись. Даже простая операция копирования большого файла имеет эффект. Все это исключает движения головы, необходимые для поддержания структуры каталогов и карт свободного пространства в актуальном состоянии при перемещении блоков и / или расширении файлов. Запуск ВМ может быть аналогичным образом требовательным в зависимости от того, что ВМ делает в данный момент (и ВМ уменьшит объем ОЗУ, доступный на хост-машине для использования в качестве кэша / буферов, что может ухудшить ситуацию,
При этом, если приложению с графическим интерфейсом нужно запросить хотя бы небольшой ввод-вывод, оно может быть поставлено в очередь за всем остальным происходящим. Если приложение не является полностью многопоточным, это может привести к тому, что оно «заблокирует» ожидание завершения операции ввода-вывода, что означает, что оно не может отвечать на какие-либо сообщения (например, «пользователь щелкнул вас здесь») в очередь событий Windows, пока она не получит свою очередь. Чем больше будет происходить одновременно, тем хуже будет становиться, и вы не заметите этого в показаниях «ЦП занят», потому что ЦП не занят - он находится в ожидании завершения операций ввода-вывода в большинстве случаев в этих условиях. ,
Если у вас есть два или более дисков, вы можете значительно уменьшить эффект, который он оказывает на вас, распределяя нагрузку на диски. Если ваша ВМ находится на отдельном диске от вашей основной ОС, они не будут бороться за обслуживание ввода-вывода, когда ВМ занята, пока хост дефрагментирует системный раздел. Кроме того, извлечение архива с одного диска и запись вывода на другой будет заметно быстрее, чем извлечение его на тот же диск, потому что операция чтения напрямую не конкурирует с операцией записи для позиционирования головки на одном диске.