Должен ли я дефрагментировать мой SSD?

55697
jerry

Я только что узнал, что нужно «Никогда не дефрагментировать ваш SSD». Но я понятия не имею, правда ли это.

Я считаю, что Windows 10 автоматически планировала завершить дефрагментацию на моем SSD, но я отменил ее. Не вызовет ли это проблем с дефрагментацией?

SSD все еще не разбит на разделы, потому что я не вижу SSD диск в папке «Мой компьютер», только в системном диспетчере оборудования. Какие правильные шаги я должен предпринять для установки Windows на SSD (это мой первый SSD)?

118
Рекомендация «никогда не дефрагментировать ваш SSD» устарела и пришла в то время, когда SSD были медленнее и имели гораздо более ограниченную стойкость при записи, чем современные SSD. Современные твердотельные накопители, как правило, ограничены IOPS, а для дефрагментированных файловых систем требуется меньше операций ввода-вывода. David Schwartz 7 лет назад 11
Для точки @DavidSchwartz [количество записей / удалений] (http://www.pcworld.com/article/2856052/grueling-endurance-test-blows-away-ssd-durability-fears.html) необходимо для спонтанного уничтожения современный SSD смехотворно высок. Если вы не обрабатываете огромное количество информации, ваш SSD, скорее всего, будет работать дольше, чем многие другие ваши компоненты, даже если вы выполняете обычную дефрагментацию. DanK 7 лет назад 5
Почему вы хотите дефрагментировать SSD? Смысл дефрагментации состоит в том, чтобы сделать файлы смежными на диске, чтобы считывающим головкам не приходилось искать повсеместно (что требует времени, поскольку требует физического перемещения) для чтения файла. Я не эксперт, но AFAIK SSD твердотельные и с произвольным доступом. Все обращения занимают одно и то же время, поэтому не имеет значения, как распределяются файловые блоки. jamesqf 7 лет назад 29
Возможный дубликат [Почему вы не можете дефрагментировать твердотельные накопители?] (Http://superuser.com/questions/1594/why-cant-you-defragment-solid-state-drives) Raystafarian 7 лет назад 3
@Raystafarian Да, это точно дубликат. Действительно интересно посмотреть, насколько ответы на этот вопрос отличаются от этого. Ajedi32 7 лет назад 3
Как отмечает Ajedi32, рекомендации по двум вопросам совершенно противоположны. Это должно повлиять на направление дубликата. Если рекомендации по другому вопросу в настоящее время считаются неверными, то читатели, приземляющиеся там, смогут найти ответы на этот вопрос только в том случае, если этот вопрос будет повторен. fixer1234 7 лет назад 6
@ fixer1234 Я согласен, на этот вопрос уже есть куча вопросов, поэтому я выбрал его. Raystafarian 7 лет назад 0
@jamesqf Вы читали мой комментарий? Вы задали вопрос, на который я уже ответил - Современные твердотельные накопители обычно ограничены IOPS. Чтение файла, состоящего из четырех фрагментов, требует как минимум четырех операций ввода-вывода. Чтение файла из одного фрагмента может занять только один. David Schwartz 7 лет назад 2

6 ответов на вопрос

132
magicandre1981

Пусть Windows сделает свое дело. Раз в месяц он выполняет полную полную дефрагментацию, также на SSD, для оптимизации внутренних метаданных.

Краткий ответ: да, Windows иногда дефрагментирует твердотельные накопители, да, важно разумно и надлежащим образом дефрагментировать твердотельные накопители, и да, Windows умна относиться к тому, как она обращается с твердотельными накопителями.

Вот ответ от Microsoft:

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

Что касается Retrim, эта команда должна выполняться по расписанию, указанному в пользовательском интерфейсе dfrgui. Retrim необходим из-за способа обработки TRIM в файловых системах. Из-за разной производительности оборудования, отвечающего на TRIM, TRIM обрабатывается файловой системой асинхронно. Когда файл удаляется или пространство освобождается иным образом, файловая система ставит в очередь запрос обрезки для обработки. Чтобы ограничить использование ресурсов просмотра, эта очередь может увеличиваться только до максимального количества запросов на обрезку. Если очередь имеет максимальный размер, входящие запросы TRIM могут быть отброшены. Это нормально, потому что мы будем периодически проходить ретрим с помощью Storage Optimizer. Retrim выполняется с такой степенью детализации, которая должна избегать достижения максимального размера очереди запросов TRIM, где отбрасываются TRIM.

Так что устанавливайте Windows на SSD и забудьте об этом. Windows сделает все самостоятельно.

Иногда мы рассуждаем о том, что Microsoft такая глупая и все такое. Но иногда я просто поражаюсь, насколько хорошо продуманы некоторые элементы Windows. BlueWizard 7 лет назад 14
Тем не менее, AFAIK Linux / EXT не нужно делать это вообще. spraff 7 лет назад 1
Фрагментация сведена к минимуму в EXT, но все же может происходить в определенных случаях использования, по крайней мере, в Ext3: https://en.wikipedia.org/wiki/Ext3#Disadvantages Bret 7 лет назад 5
Варианты EXT фрагментируют и теряют производительность. Любой, кто говорит иначе, торгует ложью о превосходстве Linux. Источник: я реализовал драйвер для него, и он делает. imallett 7 лет назад 5
@Jonas Dralle: Хотелось бы знать, что такое «заглядывание в ресурс». Звучит неопределенно порнографический :-) jamesqf 7 лет назад 0
@spraff это потому, что EXT оставляет пробелы между блоками, и файл не должен быть частично записан где-то еще, когда он растет. Когда оно растет. В основном, когда у вас есть видеофайл (который никогда не увеличивается), он все равно занимает больше места, чем необходимо, и, следовательно, тратит пространство. Ни одна система не идеальна BlueWizard 7 лет назад 0
48
Journeyman Geek

Я только что узнал, что нужно «Никогда не дефрагментировать ваш SSD». Но я понятия не имею, правда ли это.

Немного знаний опасно. Никогда не дефрагментировать ваш SSD, вероятно, будет хорошей идеей, если ваша система совершенно не знает, что такое SSD - скажем, Windows XP. И если твердотельные накопители были хрупкими снежинками, которые, вероятно, изнашиваются и тают в суровых условиях обычного использования - у меня есть подробный ответ, почему это не так . При нормальном использовании довольно сложно «изнашивать» диск. Это может быть удобно, чтобы отучиться от этого.

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

Я ссылаюсь на этот пост в блоге от Скотта Хансельмана для остальной части этого ответа. В ответе Магикандре это тоже упоминается, но я отчасти извлек из него разные уроки. Это стоит прочитать для деталей. Я беру несколько вольностей с тем, как я представляю информацию. Я бы начал с этого

Я думаю, что основное заблуждение состоит в том, что у большинства людей очень устаревшая модель расположения дисков и файлов и как работают SSD.

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

SSD также имеют концепцию TRIM. Хотя TRIM (retrim) является отдельным понятием от фрагментации, он все еще обрабатывается подсистемой Windows Storage Optimizer, а расписание управляется тем же пользовательским интерфейсом с точки зрения пользователя.

TRIM это хорошо. Trim экономит записи, поскольку это механизм для пометки блоков как прочитанных без их стирания и удаления по мере необходимости.

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

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

Я думаю, что этот ответ был бы значительно улучшен при упоминании адресов логических блоков против адресов физических блоков. Невозможно дефрагментировать SSD, процедура на уровне файловой системы, которая приводит к последовательным логическим адресам, все равно приведет к разбросу данных по всему физическому диску из-за флеш-сопоставления, и это нормально, потому что SSD имеют произвольный доступ. Ben Voigt 7 лет назад 8
Если честно, это концепция, которую я до сих пор не обернул. Я верю, что полное рассмотрение этого вопроса даст отличный ответ на [один из моих вопросов] (http://superuser.com/questions/280667/do-partitions-on-ssds-map-to-physical-addresses) и В моем тестовом аккаунте есть несколько представителей, которых я бы с радостью наградил. Journeyman Geek 7 лет назад 0
23
MatthewRock

Для полноты картины:

Фрагментация зависит от файловой системы (FS), а не от диска или ОС.

Это означает, что для ответа на ваш вопрос не нужно спрашивать Windows *; SSD - это особый случай - он работает не так, как обычный диск.

FS - это способ организации ваших файлов на диске. Наиболее распространенными форматами Windows являются NTFSи FAT32. Наиболее часто используемые FSs на Linux являются ext3/ ext4, но есть много других ( zfs, xfs, jfs, ReiserFS, btrfs, и многое другое).

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

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

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

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

Однако есть и другие способы оптимизации SSD. Смотрите эту тему для уточнения.

*Почти; Выбор файловой системы соотносится с ОС. Большинство пользователей Linux используют другую ФС, чем пользователи Windows или OS X.

Именно это. Фрагментация происходит на уровне FS независимо от носителя. На некоторые носители это влияет больше, чем на другие, но всегда есть какое-то влияние, и оно не исчезнет просто потому, что у вас есть SSD. Dmitry Grigoryev 7 лет назад 3
Основным отличием действительно Ext3 и FAT против Ext4 и NTFS; но даже тогда приложения, операционная система и даже аппаратное обеспечение * вносят свой вклад *, часто значительно. Например, Windows упорядочивает файлы, используемые при запуске, в том порядке, в котором они используются - что позволяет большинству при запуске использовать чтение блоков вместо поиска. Вы можете назвать это дефрагментацией - просто помимо дефрагментации на уровне FS (уменьшающей фрагментацию файлов), она также «дефрагментирует» группы файлов для оптимизации доступа таким образом, что FS не может помочь. Вы можете представить множество подобных оптимизаций, например, перемещение библиотек DLL близко к EXE. Luaan 7 лет назад 1
Есть много разных слоев, которые имеют значение по-своему. Например, чередование является способом преднамеренной фрагментации, которая может улучшить производительность. Физическая организация жесткого диска также может использовать это, если жесткий диск имеет несколько головок, которые могут считывать данные с нескольких платформ одновременно. SSD не нужно вращать диск и перемещать головки для поиска, но у них все еще есть предел IOPS - и со скоростью SSD сегодня это часто более важно, чем сырая пропускная способность. SSD ищет больше не достаточно быстро, чтобы насытить пропускную способность. Фрагментация - небольшая часть фундаментальной проблемы - кеширования. Luaan 7 лет назад 0
@Luaan: нет такой вещи как «поиск SSD». Я думаю, что вы на самом деле говорите о затратах на обработку каждой команды. Ben Voigt 7 лет назад 0
@ Ramhound Я понимаю, что это может быть скрыто внутри всей информации в посте, но я считаю, что 6-й абзац («Теперь SSD ...») говорит «из-за вещей, которые я только что объяснил, вам не нужно дефрагментировать SSD ", за которым быстро следуют" Есть другие способы, посмотрите эту ссылку ", так как я не хотел копировать-вставлять (и сделать мой ответ длиннее). Я отдаляюсь от темы Windows, но я делаю это для более глубокого объяснения фрагментации; однако я все еще возвращаюсь к первоначальному вопросу и отвечаю на него. MatthewRock 7 лет назад 0
@BenVoigt Я думаю, что Luaan означает, что неконсолидированные файлы по-прежнему читаются дольше, даже на SSD. Там нет задержки поиска, но есть существенная разница между последовательным и случайным чтением на SSD. user1306322 7 лет назад 1
@ BenVoigt Я говорю о доступе к памяти в целом, то есть о произвольном доступе к памяти. Мы всегда называли эти поиски, но я понимаю, почему это сбивает с толку. Luaan 7 лет назад 0
Ваше последнее предложение не закончено ... DavidPostill 7 лет назад 0
6
Mehrdad

Существующие ответы великолепны, но у меня есть некоторые дополнения к ним ...
Я дефрагментирую SSD и отключаю автоматический TRIM, но по совершенно другим причинам, чем упомянуто:

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

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

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

Грустная часть о # 2 и # 3 состоит в том, что люди, которые не видели этих проблем своими глазами, всегда думают, что я сошел с ума и все это придумываю, или что моя система как-то сломана. Но я воспроизвел их довольно много раз на нескольких системах, и как человек, который написал свои собственные читатели NTFS, я кое-что знаю о файловых системах и программировании ядра ... с NTFS в центре внимания. Так что я знаю ошибки, когда вижу их. Никто не верит мне, но я все равно предупреждаю людей, учитывая, что я видел, как это происходило моими собственными глазами - поэтому, если вы возитесь с разделами или вообще используете Linux, я рекомендую вам держать ваши диски дефрагментированными. YMMV.

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

Отлично, это хорошая процедура для дефрагментации (и даже «нуля») флешек по тем же причинам, особенно для фотографирования. Смежные файлы легче восстановить, даже частично. В поисках времени вы также извлечете выгоду из предварительной выборки (читай дальше), если ОС достаточно умна. Твердотельные накопители, как правило, работают медленнее, чем память (хотя и не всегда). mckenzm 7 лет назад 1
Разве ваш совет по Linux на самом деле «если вы используете Linux и монтируете файловую систему NTFS для чтения / записи вместе с ним», а не «вообще, если вы вообще используете Linux»? Использование Linux с ext4 или XFS на SSD совершенно безопасно. (И FAT, в этом отношении, чтобы вы могли сделать раздел FAT для обмена данными в случае необходимости.) mattdm 7 лет назад 0
@mattdm: Да, я думаю. (Странно, я думал, что уже ответил на это ...) Mehrdad 7 лет назад 0
-3
jwzumwalt

Дефрагментация SSD способствует раннему выходу из строя блоков памяти с наименьшим адресом.

Смотрите: http://techreport.com/review/27909/the-ssd-endurance-experiment-theyre-all-dead

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

«Потери в конечном итоге превысят способность диска компенсировать, оставляя без ответа вопросы. Сколько записей требуется? Что в итоге происходит с вашими данными? Потери SSD снижают производительность или надежность по мере накопления записей?»

Это * экстремальный * случай, когда на диске записаны и перезаписаны большие объемы данных. Какое это имеет отношение к регулярной, обычной дефрагментации? Journeyman Geek 7 лет назад 5
Нет, это не крайний случай ... Это тест, который показывает внутреннюю или возможную слабость продукта. Тесты предназначены для демонстрации ограничений. jwzumwalt 7 лет назад 0
-6
Christopher Hostage

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

Не понизить, но было бы интересно увидеть источники для этого. brichins 7 лет назад 10
Вы путаете [усиление записи] (https://en.wikipedia.org/wiki/Write_amplification) с [выравниванием износа] (https://en.wikipedia.org/wiki/Wear_leveling). SSD должны стереть, прежде чем они смогут писать, но они стирают большие блоки, чем они могут записать. Это означает, что одна запись может сделать несколько записей, чтобы перемешать данные и освободить блок для стирания. Чем больше записей происходит, тем сложнее этот процесс. Вот и пиши усиление. Существуют различные способы решения этой проблемы, такие как TRIM и избыточное выделение ресурсов. Выравнивание износа распределяет ячейки, в которые вы пишете, чтобы они полностью не выходили из строя. Schwern 7 лет назад 3

Похожие вопросы