Вопрос Почему очистка дискового пространства ускоряет работу компьютеров?


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

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


188
2018-04-19 23:06


происхождения


это на самом деле не ускоряет работу ПК, это лишь уменьшает вероятность фрагментации файлов, которые замедляют работу жестких дисков. Это один из величайших мифов о ПК, которые все повторяют. Чтобы найти загрузочные файлы на ПК, проследите его с помощью xperf / WPA. - magicandre1981
FWIW это speeds up the experience of using a PC, - edthethird
@ magicandre1981: есть крошечный жемчужина правды. Чем больше вещей в каждой папке, тем медленнее проходит обход файлов, что влияет на что-либо, используя путь к файлу, который является ... всем. Но это крошечный, - Mooing Duck
@MooingDuck Хотя это правда, это связано с количеством файлов в папке, а не с размером файлов или объемом пространства, оставшимся на диске. Этот эффект не связан с оставшимся дисковым пространством. Эффект также ограничен по размеру самой папке, он не «замедлит» весь компьютер. Некоторые файловые системы, например ext3 / 4, используют хешированные деревья каталогов делать поиски (включая доступ к подпапкам), тем самым ограничивая объем эффекта еще больше, например. только когда список содержимое каталога. - Jason C
Какие видео вы точно смотрели? - Loko


ответы:


Здесь я написал книгу случайно. Сначала выпейте кофе.

Почему очистка дискового пространства ускоряет работу компьютеров?

Это, по крайней мере, не само по себе. Это очень распространенный миф. Причина, по которой это распространенный миф, состоит в том, что заполнение жесткого диска часто происходит одновременно с другими вещами, которые традиционно мог помедленнее твой компьютер. Производительность SSD имеет тенденцию ухудшаться по мере заполнения накопителя, но это относительно новая проблема, уникальная для SSD, и не очень заметна для случайных пользователей. Как правило, низкое свободное место на диске - это просто красная селедка,

Например, такие вещи, как:

  • Фрагментация файлов. Фрагментация файла является вопрос††, но отсутствие свободного места, хотя определенно один из многие факторы, способствующие единственный причина этого. Некоторые ключевые моменты здесь:

    • Возможности фрагментации файла не связанные с объемом свободного места, оставленного на диске. Они связаны с размером самого большого смежного блока свободного пространства на диске (например, «дыры» свободного пространства), количество свободного пространства происходит, чтобы положить верхнюю границу на, Они также связаны с тем, как файловая система обрабатывает распределение файлов (более подробно). Рассматривать: Привод, который на 95% заполнен всем свободным пространством в одном единственном непрерывном блоке, имеет 0% вероятность фрагментации нового файла ††† (и вероятность фрагментации прилагаемого файла не зависит от свободного места). Привод, который на 5% заполнен, но с равномерным распределением данных по диску, имеет очень высокую вероятность фрагментации.

    • Имейте в виду, что фрагментация файла влияет только на производительность при обращении к фрагментированным файлам, Рассматривать: У вас хороший, дефрагментированный диск, в котором все еще есть много свободных «дыр». Общий сценарий. Все работает гладко. В конце концов, тем не менее, вы дойдете до точки, где больше не осталось больших блоков свободного пространства. Вы загружаете огромный фильм, файл в конечном итоге сильно фрагментирован. Это не замедлит работу вашего компьютера. Все ваши файлы приложений и те, которые были ранее прекрасны, не будут внезапно фрагментироваться. Это может сделать кино занимают больше времени для загрузки (хотя типичные скорости передачи видеоролика настолько малы по сравнению со скоростью чтения на жестком диске, что он, скорее всего, будет незаметным), и это может повлиять на производительность, связанную с I / O, в то время как кинозагружается, но кроме этого ничего не меняется.

    • В то время как фрагментация файлов, безусловно, является проблемой, часто, когда эффекты смягчаются буферизацией OS и аппаратным уровнем и кешированием. Отложенные записи, чтение-вперед, стратегии, такие как префетчер в Windows и т. д., все это помогает уменьшить эффекты фрагментации. Вы, как правило, не на самом деле испытывают значительное влияние до тех пор, пока фрагментация не станет серьезной (я бы даже рискнул сказать, что пока ваш файл подкачки не фрагментирован, вы, вероятно, никогда не заметите).

  • Индексирование поиска - еще один пример. Предположим, вы включили автоматическую индексацию и операционную систему, которая не справляется с этим изящно. По мере того, как вы сохраняете все больше индексируемого контента на свой компьютер (документы и т. Д.), Индексирование может занять больше времени и дольше и может начать влиять на воспринимаемую скорость вашего компьютера во время его работы, как при использовании ввода / вывода, так и при использовании ЦП , Это не связано с свободным пространством, это связано с количеством индексируемого контента, который у вас есть. Однако выход из свободного пространства идет рука об руку с хранением большего количества контента, поэтому создается ложное соединение.

  • Антивирусная программа. Аналогично примеру индексирования поиска. Предположим, у вас есть антивирусное программное обеспечение, настроенное для фонового сканирования вашего диска. Поскольку у вас все больше и больше сканируемого контента, поиск требует больше ресурсов ввода-вывода и процессора, что может мешать вашей работе. Опять же, это связано с количеством сканируемого контента, который у вас есть. Больше контента часто меньше свободного места, но недостаток свободного места не является причиной.

  • Установленное программное обеспечение. Допустим, у вас установлено много программного обеспечения, которое загружается при загрузке вашего компьютера, что замедляет время запуска. Это замедляется, потому что загружается большое количество программного обеспечения. Однако установленное программное обеспечение занимает пространство на жестком диске. Поэтому свободное пространство на жестком диске уменьшается одновременно с тем, что это происходит, и снова может быть легко установлено ложное соединение.

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

Вышеизложенное иллюстрирует еще одну причину того, что это такой распространенный миф: хотя нехватка свободного места не является прямой причиной замедления, деинсталляции различных приложений, удаления индексированного или отсканированного контента и т. Д. Иногда (но не всегда; вне сферы действия этого ответ) увеличивается производительность снова по причинам, не связанным с количеством оставшегося свободного места. Но это также естественно освобождает место на жестком диске. Поэтому опять же может быть сделана явная (но ложная) связь между «более свободным пространством» и «более быстрым компьютером».

Рассматривать: Если у вас есть машина, работающая медленно из-за большого количества установленного программного обеспечения и т. Д., И вы клонируете именно ваш жесткий диск на более крупный жесткий диск, а затем расширяйте свои разделы, чтобы получить больше свободного места, машина не будет волшебным образом ускоряться. Одно и то же программное обеспечение загружается, одни и те же файлы по-прежнему фрагментируются одинаково, тот же самый поисковый индексатор все еще работает, ничего не меняется, несмотря на то, что у него больше свободного места.

Это связано с поиском пространства памяти, где можно сохранить вещи?

Нет. Здесь стоит отметить две очень важные вещи:

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

  2. Ваша операционная система не ищет места для размещения вещей. Нет «поиска». Большие усилия были направлены на решение этой проблемы, так как крайне важно обеспечить производительность системы. Способ, которым данные фактически организованы на вашем диске, определяется вашим файловая система, Например, FAT32 (старые DOS и ПК с Windows), NTFS (позже Windows), HFS + (Mac), ext4 (некоторые Linux) и многие другие. Даже концепция «файла» и «каталога» - это всего лишь продукты типичных файловых систем - жесткие диски не знают о таинственных зверях, которые называются «файлами». Информация выходит за рамки этого ответа. Но, по сути, все распространенные файловые системы имеют способы отслеживания, где доступное пространство находится на диске, так что поиск свободного пространства при нормальных обстоятельствах (то есть в файловых системах, находящихся в хорошем состоянии) не нужен. Примеры:

    • NTFS имеет таблица основных файлов, который включает специальные файлы $Bitmapи т. д. и множество метаданных, описывающих диск. По сути, он отслеживает, где следующие свободные блоки, так что новые файлы могут быть записаны непосредственно на свободные блоки без необходимости сканировать диск каждый раз.

    • Другой пример, ext4 имеет так называемое "растровый распределитель", улучшение по сравнению с ext2 и ext3, что в основном помогает ему напрямую определять, где свободные блоки вместо сканирования списка свободных блоков. Ext4 также поддерживает «задержку распределения», то есть буферизацию данных в оперативной памяти ОС перед ее записью на диск, чтобы принимать более правильные решения о том, где можно уменьшить фрагментацию.

    • Много других примеров.

или с движущимися вещами для создания достаточно длительного пространства для сохранения чего-то?

Нет. Этого не происходит, по крайней мере, не с какой-либо файловой системой, о которой я знаю. Файлы просто фрагментированы.

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

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

Сколько свободного места на жестком диске я должен оставить бесплатно?

Это более сложный вопрос для ответа, и этот ответ уже превратился в небольшую книгу.

Эмпирические правила:

  • Для всех типов накопителей:

    • Самое главное, оставить достаточно свободного места для вы эффективно используете свой компьютер, Если вам не хватает места для работы, вам понадобится более крупный диск.
    • Многим средствам дефрагментации диска требуется минимальное количество свободного места (я думаю, что один из Windows требует 15% наихудшего случая) для работы. Они используют это свободное пространство для временного хранения фрагментированных файлов, поскольку другие вещи перегруппированы.
    • Оставьте место для других функций ОС. Например, если на вашем компьютере не много физической оперативной памяти, и у вас есть виртуальная память с динамическим размером файла страницы, вы захотите оставить достаточно места для максимального размера файла страницы. Если у вас есть ноутбук, который вы ввели в спящий режим, вам понадобится достаточно свободного места для файла состояния гибернации. Такие вещи.
  • SSD-конкретны:

    • Для обеспечения оптимальной надежности (и в меньшей степени производительности) SSD требуется некоторое свободное пространство, которое, не вдаваясь в подробности, используется для распространения данных вокруг накопителя, чтобы избежать постоянной записи в одно и то же место (которое их изгоняет). Эта концепция ухода из свободного пространства называется более инициализация, Это важно, но во многих SSD-системах уже имеется обязательное избыточное пространство, То есть, диски часто имеют несколько десятков ГБ, чем они сообщают ОС. Приводы нижнего уровня часто требуют, чтобы вы вручную неразмеченное а для дисков с обязательным OP, вам не нужно оставлять свободное место, Здесь важно отметить, что избыточное пространство часто берется из нераспределенного пространства, Поэтому, если ваш раздел занимает весь ваш диск, и вы оставляете на нем свободное место, это не всегда сосчитать. Во многих случаях для ручной переустановки требуется уменьшить размер раздела, чтобы он был меньше размера диска. Подробнее см. Руководство пользователя SSD. TRIM и сбор мусора, и такие эффекты также имеют последствия, но это выходит за рамки этого ответа.

Лично я обычно захватываю больший диск, когда у меня осталось около 20-25% свободного места. Это не связано с производительностью, это просто, когда я доберусь до этого момента, я ожидаю, что скоро у меня скоро будет нехватка места для данных, и пришло время получить более мощный диск.

Более важным, чем просмотр свободного места, является то, что запланированная дефрагментация включена там, где это уместно (а не на SSD), так что вы никогда не дойдете до такой степени, что она станет достаточно серьезной, чтобы повлиять на вас. Не менее важно избегать ошибочных настроек и позволить вашей ОС выполнять свою работу, например. не отключать предварительный выбор Windows (за исключением SSD), и т.д.


Есть еще одна вещь, о которой стоит упомянуть. Один из других ответов здесь упоминал, что полудуплексный режим SATA предотвращает чтение и запись одновременно. Хотя это правда, это значительно упрощает и в основном не связано с обсуждаемыми здесь проблемами производительности. Это просто означает, что данные не могут передаваться в обоих направлениях на проводе в то же время. Однако SATA имеет довольно сложная спецификация с учетом крошечных максимальных размеров блоков (я думаю, примерно 8 кбайт на блок на проводе), очереди операций чтения и записи и т. д. и не исключает возможности буферизации записи во время чтения, операции с чередованием и т. д.

Любая блокировка, которая возникает, связана с конкуренцией за физические ресурсы, обычно уменьшаемая большим количеством кеша. Дуплексный режим SATA почти не имеет значения здесь.


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

†† SSD-накопители находятся подверженные фрагментации, в том, что скорость последовательного доступа обычно выше, чем случайный доступ, несмотря на то, что SSD не имеют таких же ограничений, как и механическое устройство (даже тогда отсутствие фрагментации не гарантирует последовательный доступ из-за износа и т. д., как Джеймс Снелл примечания в комментариях). Однако практически во всех сценариях общего использования это не проблема. Различия в производительности от фрагментации на SSD обычно незначительны для таких вещей, как загрузка приложений, загрузка компьютера и т. Д.

††† Предполагая правильную файловую систему, не предназначенную для фрагментации файлов.


310
2018-04-20 10:08



Очень полный ответ, спасибо. Также спасибо за напоминание, чтобы схватить кофе, он был высоко оценен. - Hashim


В дополнении к Объяснение Nathanial Meek для жестких дисков существует другой сценарий для SSD.

SSD не чувствительны к разбросанным данным, поскольку время доступа в любое место на SSD одинаково. Типичное время доступа к SSD составляет 0,1 мс по сравнению с обычным временем доступа к жесткому диску от 10 до 15 мс. Он, однако, чувствителен к данным, которые уже записаны на SSD

В отличие от традиционных жестких дисков, которые могут перезаписывать существующие данные, SSD требует полностью пустого пространства для записи данных. Это делается с помощью функций Trim и Garbage Collection, которые очищают данные, помеченные как удаленные. Сбор мусора лучше всего работает в сочетании с определенным количеством свободного места на SSD. Обычно рекомендуется от 15% до 25% свободного места.

Если сбор мусора не может завершить работу вовремя, то каждой операции записи предшествует очистка пространства, в которое должны быть записаны данные. Это удваивает время для каждой операции записи и ухудшает общую производительность.

Здесь отличная статьячто объясняет работу Trim and Garbage Collection


22
2018-04-19 23:37



Обратите внимание, что SSD могут записываться в частично заполненные ячейки, читая частичные данные и записывая их с более письменными, но это имеет тенденцию делать это только тогда, когда это неизбежно. Это, конечно, также довольно медленно, и обычно указывает, что диск настолько сильно фрагментирован, что потребуется много времени, чтобы заставить его писать снова. - fluffy
Это также будет зависеть от контроллера. И поскольку существует так много вариаций, я не хотел вдаваться в этот уровень детализации. - whs
15-25%, о которых вы говорите, называется «чрезмерная подготовка». Некоторые диски имеют обязательное пространство, выделенное для этого уже (например, 1TB EVO 840 имеет 9% зарезервированных и не сообщается ОС как бесплатно), для тех, кому не нужно оставлять свободное место. Я считаю, что в некоторых случаях избыточное пространство также должно быть разделено на разделы, и просто оставляя свободное место на вашей файловой системе, он не сокращает его, вам нужно будет фактически оставить нераспределенное пространство. - Jason C
Переопределение - это нечто другое. Это - nands on stand-by для замены дефектных узлов. 15-25% необходимы для освобождения блоков (страниц) и для выравнивания износа. Вы можете прочитать здесь подробности ==> thessdreview.com/daily-news/latest-buzz/... - whs
@whs Это не так, и статья, на которую вы ссылаетесь, не означает, что она есть. Зарезервированное пространство (см. также цитируемые источники в этом разделе или Google) - это пул свободных блоков, блоки в этом пуле используются для сбора мусора / быстрой записи, выравнивания износа и замены дефектных ячеек. Что касается замены дефектных ячеек, все они находятся в одном пуле; как только он заполнен дефектными ячейками, вы начинаете видеть согласованные ошибки. См. Также слайд 12 в эта презентация от LSI; все это стоит пройти, оно напрямую затрагивает тему. - Jason C


Где-то внутри традиционного жесткого диска находится вращающаяся металлическая пластина, где отдельные биты и байты фактически закодированы. Когда данные добавляются к пластине, контроллер диска сначала сохраняет его на внешней стороне диска. По мере добавления новых данных пространство используется для передвижения по направлению к внутренней части диска.

Имея это в виду, есть два эффекта, которые приводят к снижению производительности диска по мере того, как диск заполняется: Время поиска а также Вращательная скорость,

Время поиска

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

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

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

Вращательная скорость

Жесткие диски вращаются с фиксированной скоростью (обычно 5400 об / мин или 7200 об / мин для вашего компьютера и 10000 об / мин или даже 15000 об / мин на сервере). Он также занимает фиксированный объем пространства на диске (более или менее) для хранения одного бита. Для диска, вращающегося с фиксированной скоростью вращения, внешняя сторона диска будет иметь более высокую линейную скорость, чем внутренняя часть диска. Это означает, что биты вблизи внешнего края диска движутся мимо считывающей головки с большей скоростью, чем биты вблизи центра диска, и, таким образом, голова чтения / записи может считывать или записывать бит быстрее вблизи внешнего края диска, чем внутренний.

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

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

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

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

Эффекты также применяются к новым дискам. При прочих равных условиях новый привод 1 ТБ работает быстрее, чем новый диск на 200 ГБ, поскольку 1 ТБ хранит биты ближе друг к другу и не будет быстро заполняться на внутренних дорожках. Однако попытка использовать это для принятия решений о покупке редко бывает полезна, так как производители могут использовать несколько пластин для достижения размера 1 ТБ, меньшие пластины, чтобы ограничить систему 1 ТБ до 200 ГБ, ограничения программного обеспечения / дискового контроллера для ограничения емкости 1 ТБ до 200 ГБ космос или продать диск с частично завершенными / испорченными пластинами с привода 1 ТБ с множеством плохих секторов в качестве диска 200 ГБ.

Другие факторы

Здесь стоит отметить, что вышеупомянутые эффекты довольно малы. Компьютерные инженеры тратят много времени на то, как свести к минимуму эти проблемы, и такие вещи, как буферы жесткого диска, кэширование Superfetch и другие системы, помогают минимизировать проблему. На здоровый система с большим количеством свободного места, вы вряд ли заметите. Кроме того, твердотельные накопители имеют совершенно разные характеристики. Тем не менее, эффекты действительно существуют, и компьютер действительно становится медленнее, когда накопитель заполняется. На нездоровый система, где дисковое пространство очень низкое, эти эффекты могут создать ситуацию с диском, где диск постоянно ищет назад и вперед по фрагментированным данным, а освобождение дискового пространства может исправить это, что приведет к более резким и заметным улучшениям.

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

Наконец, производительность диска огромный показателем общей производительности ПК в наши дни ... еще большим показателем, чем скорость процессора. Даже небольшое падение пропускной способности диска очень часто приравнивается к реальному общему снижению производительности ПК. Это особенно верно, так как производительность жесткого диска не очень устраивает улучшения CPU и памяти; диск 7200 RPM стал стандартом для настольных компьютеров уже более десяти лет. Более чем когда-либо этот традиционный спиннинг-диск является узким местом на вашем компьютере.


12
2018-04-21 16:54



Увеличение времени поиска не является результатом низкого свободного места, это результат организации данных. Освобождение дискового пространства не уменьшит время поиска, если ваши данные уже находятся на диске. Точно так же исчерпывание дискового пространства не приведет к внезапному увеличению времени поиска для несвязанных данных, которые были уже хорошо организованы. Что еще более важно, будьте очень осторожны, связав любой из них с «медленным компьютером». Например, вы больше не сможете просматривать веб-страницы только потому, что исполняемый файл вашего браузера не подвержен риску и снаружи механического диска, и ваши MP3-файлы будут воспроизводиться гладко даже в худшем случае. - Jason C
@JasonC. Каждая из этих точек истинна по отдельности, но принятая как часть всей системы может привести к реальным замедлениям. Примером может служить это утверждение:Freeing disk space won't decrease seek times if your data is already all over the drive.«Я не могу оспорить это сам по себе, но могу указать, что служба дефрагментации теперь может перемещать эти данные в направлении передней части диска, и теперь эти вещи будем улучшить время поиска. Другие моменты в вашем комментарии имеют схожие счетчики: нехватка дискового пространства не будет увеличивать поиски хорошо организованных данных, но это делает менее вероятным, что данные остаются организованными. - Joel Coehoorn
@JasonC Тем не менее, я добавил пару строк к моему ответу на основе вашего комментария, чтобы более непосредственно обратиться к названию вопроса. - Joel Coehoorn
Конечно; но мои основные моменты: 1), что замедление является следствием чего-то еще, хотя низкое свободное пространство может быть одним из многих факторов, и 2) вы должны быть очень осторожны с этой темой, это один из тех, кто задерживается очень быстро. Если случайный пользователь замечает, что их компьютер работает медленно, реальность это очень необычно, например, для фрагментации (например,). Но потом они прочитали кучу вещей в Интернете, установили ccleaner, 50 дефрагментаторов дисков, сделали кучу плохих настроек реестра и т. Д. Вам нужно обслуживать массы здесь; мудрее не нужны наши ответы. - Jason C
Этот ответ подсказывает кратковременное (искусственное ограничение размера HD для хранения данных в более быстрых внешних зонах) и некоторые потенциальные проблемы с ним. Мне также нравится, поскольку он не отрицает, что в большинстве случаев для большинства пользователей диск становится более фрагментированным по мере его заполнения. Хотя стоит отметить, что свободное пространство не фактический проблема, бессмысленно игнорировать общий пользовательский опыт при рассмотрении общего пользовательского вопроса. - Smithers


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

Сортировка вещей действительно легко если у вас много места ... но сложно если у вас нет места ... компьютерам тоже нужно место!

Этот классический "15 головоломка«сложно или трудоемко, потому что у вас есть только 1 свободный квадрат, чтобы перетасовать плитки вокруг, чтобы получить их в правильном порядке 1-15.

hard 15 puzzle

Однако, если пространство было намного больше, вы могли бы решить эту загадку менее чем за 10 секунд.

easy 15 puzzle

Для тех, кто когда-либо играл с этой загадкой ... понимание аналогии кажется естественным. ;-)


6
2018-04-22 17:24



Однако это не похоже на поведение любой файловой системы. Это в некотором роде похоже на общий процесс дефрагментации, я думаю, хотя дефрагментация по сравнению с этой аналогией головоломок позволяет удалять номера с доски и переставлять их куда угодно, когда вы ее решаете. - Jason C
В дополнение к замечанию Джейсона выше, я хочу указать на очевидное: этот ответ относится к сортировка (дефрагментация), но не объясняет, почему доступа конкретная, случайная плитка (скажем, «3» плитка) будет быстрее во втором случае, чем в первом случае. - Michael Kjörling
Потому что вы не получаете доступ только к «3». Вы получаете доступ к «1-15». Хотя я признаю, что в этом примере не ясно, я понял это. Возможно, стоит особо отметить что-то вроде: «эта головоломка аналогична одному фрагментированному файлу». Отличный ответ, делает вещи совершенно мысленно доступными! - Smithers
Чтобы уточнить: основной проблемой с аналогией здесь является то, что в настоящей головоломке вы можете перемещать плитки только в соседние пустые пространства. То есть, в крошечном примере, только 6 или 13 могут быть перемещены в пустое пространство. Это то, что заставляет головоломку бросать вызов; это точка игры в плитку. Однако при дефрагментации жесткого диска вы можете перемещаться, например. 4 в пустое пространство, 1 в правильное местоположение и т. Д., Довольно легко решить, в точности столько же шагов, сколько и в случае с большим количеством пространства, Таким образом, аналогия действительно ломается, так как суть головоломки не применяется: файловая система не работает таким образом. - Jason C
«Потому что вы не получаете доступ только к« 3 ». Вы получаете доступ к «1-15» - это вздор. Ответ не объясняет, почему доступ к определенной случайной плите был бы быстрее во втором случае, чем в первом случае, потому что ответ был совершенно неправильным. Мало того, что дефрагментация не ограничивает возможности головоломки, но «сложная / трудоемкая» дефрагментация не влияет на производительность системы. - Jim Balter


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

Когда компьютер находится в этом состоянии, освобождение дискового пространства на самом деле не устранит проблему. Вам также потребуется дефрагментировать диск. Прежде чем компьютер находится в этом состоянии, освобождение пространства не ускорит его; это просто уменьшит вероятность того, что фрагментация станет проблемой.

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


5
2018-04-20 13:46



Хороший, чистый, простой ответ, который также затрагивает основную проблему. - Smithers


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

  1. Прочтите флеш-страницу.
  2. Напишите на прежней пустой странице флэш.
  3. Удалите все флэш-страницы на блоке.

Хотя теоретически возможно, чтобы каждая запись на флеш-диск считывала все страницы из блока, меняла один в буфере, удаляла блок, а затем записывала буфер обратно на флеш-устройство, такой подход был бы чрезвычайно медленный; это также могло бы привести к потере данных, если бы мощность была потеряна за время начала стирания и завершение обратной записи. Кроме того, часто записанные части диска изнашивались бы очень быстро. Если, например, первые 128 секторов FAT были сохранены в одном флэш-блоке, диск будет мертв после того, как общее количество записей во всех этих секторах достигнет около 100 000, что не очень много, особенно учитывая, что 128 секторов будет содержать около 16 384 записей FAT.

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

Если диск только наполовину заполнен, то, безусловно, будет, по крайней мере, один блок, который не более половины заполняется живыми страницами (и, скорее всего, будут некоторые блоки, которые содержат мало или ничего). Если каждый блок содержит 256 страниц, а наименее полные блоки содержат 64 живые страницы (умеренно-плохие случаи), то для каждых 192 запрошенных секторов записи необходимо будет выполнить 64 дополнительных копии сектора и одну стирать блок (поэтому средняя стоимость каждой записи секторов будет составлять около 1,34 страницы и 0,005 удаляет блок). Даже в худшем случае каждая запись в 128 секторах потребует 128 дополнительных секторальных копий и стирания блока (средняя стоимость записи на 2 страницы и 0,01 удаление блоков)

Если диск заполнен на 99%, а наименее полные блоки содержат 248/256 страниц в реальном времени, то для каждой записи в 8 секторах потребуется еще 248 дополнительных страниц и стирание блока, что дает стоимость записи на 32 страницы и 0.125 блока стирается - очень серьезное замедление.

В зависимости от того, сколько «дополнительного» хранилища имеет диск, он может не допустить, чтобы все было так плохо. Тем не менее, даже в том случае, когда привод на 75% заполнен, производительность наихудшего случая может быть более чем вдвое хуже, чем производительность наихудшего случая, когда она заполнена на 50%.


4
2018-04-20 16:10





Вы в значительной степени прибивали его. Вы можете думать о SATA HDD как о полудуплексном коммуникационном средстве (то есть, он может принимать или передавать данные одновременно. Не оба.), Поэтому, когда накопитель удерживается в течение длительного времени, ища свободное место для записи to, он не может прочитать вам какие-либо данные. По этой причине вы не должны загружать свои диски на 80%. Чем более полно, тем выше вероятность того, что фрагменты файлов будут вынуждены связывать во время запросов на чтение (таким образом блокируя запросы на запись).

Есть ряд вещей, которые вы можете сделать, чтобы помочь в решении этих проблем:

  • Уменьшите объем данных, которые вы сохранили, и регулярно дефрагментируйте свой диск.
  • Переключитесь на флэш-память.
  • Храните объемные данные, хранящиеся на отдельном диске, из вашей ОС.
  • Так далее и тому подобное...

3
2018-04-19 23:12



При использовании вспышки привод может считывать или записывать (опять же не оба) почти мгновенно (9 мс - довольно стандартное время поиска на жестком диске, где, как у SSD обычно есть «время поиска» в области pico и nano секунд) для любого местоположение на диске. en.wikipedia.org/wiki/... - Nathanial Meek
Продолжение poing 2: Это то, что, например, $Bitmap файл для NTFS, или растровый распределитель в ext4. То есть этот ответ распространяется на некоторые серьезные дезинформации. 3. Существует много буферизации чтения и записи и кеширования, что делает большую часть этой проблемы. В этом ответе несколько описываются эффекты фрагментации, и даже тогда они ограничены более старыми файловыми системами, это, безусловно, не является точным свободным пространством. Освобождение дискового пространства не ускоряет работу компьютера. - Jason C
@JasonC, вы должны перевести свои комментарии в ответ. - Celos
Эта не происходит: «поэтому, когда накопитель удерживается в течение длительного времени, ища свободное место для записи, он не может читать какие-либо данные» - просто нет. Это не то, как работают файловые системы. Измените свой ответ, чтобы прекратить распространять дезинформацию. - RomanSt
@NathanialMeek. Вы немного смешаете слои. :) Полудуплексный режим SATA означает, что он может передавать только данные на проводе в одном направлении. Чтения и записи более высокого уровня выполняются небольшими блоками (называемыми FIS) в заданных в SATA операционных очередях. Они могут быть асинхронными, а быстрые чтения и записи могут выполняться в и из встроенного кеша и непосредственно в системную память через DMA. Контроллеры SATA также могут изменять команды для оптимизации эффективности. Точка: линия не занята во время выполнения физических операций, а полудуплексный режим SATA не имеет эффекта, который, по вашему мнению, он делает. - Jason C