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

121

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

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

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

Джерри
источник
12
Рекомендация «никогда не дефрагментировать ваш SSD» устарела и пришла в то время, когда SSD были медленнее и имели гораздо более ограниченную стойкость при записи, чем современные SSD. Современные твердотельные накопители, как правило, ограничены IOPS, а для дефрагментированных файловых систем требуется меньше операций ввода-вывода.
Дэвид Шварц
5
По мнению @DavidSchwartz, количество операций записи / удаления, необходимых для самопроизвольного уничтожения современного SSD, невероятно велико. Если вы не обрабатываете чрезмерное количество информации, ваш SSD, скорее всего, будет работать дольше, чем многие другие ваши компоненты, даже если вы выполняете обычную дефрагментацию.
DanK
29
Почему вы хотите дефрагментировать SSD? Смысл дефрагментации состоит в том, чтобы сделать файлы смежными на диске, чтобы считывающим головкам не приходилось искать повсеместно (что занимает много времени, поскольку требует физического перемещения) для чтения файла. Я не эксперт, но AFAIK SSD твердотельные и произвольного доступа. Все обращения занимают одно и то же время, поэтому не имеет значения, как распределяются файловые блоки.
jamesqf
6
Как отмечает Ajedi32, рекомендации по двум вопросам совершенно противоположны. Это должно повлиять на направление дубликата. Если рекомендации по другому вопросу в настоящее время считаются неверными, единственный способ найти ответы на этот вопрос - это сделать дубликат этого вопроса.
fixer1234 30.11.16

Ответы:

135

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

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

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

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

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

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

magicandre1981
источник
17
Иногда мы рассуждаем о том, что Microsoft такая глупая и все такое. Но иногда я просто поражаюсь, насколько хорошо продуманы некоторые элементы Windows.
BlueWizard
1
Тем не менее, AFAIK Linux / EXT не нужно делать это вообще.
spraff
6
Фрагментация сведена к минимуму в EXT, но все еще может происходить в определенных случаях использования, по крайней мере, в Ext3: en.wikipedia.org/wiki/Ext3#Disadvantages
Bret
6
Варианты EXT фрагментируют и теряют производительность. Любой, кто говорит иначе, торгует ложью о превосходстве Linux. Источник: я реализовал драйвер для него, и он делает.
imallett
1
@spraff это потому, что EXT оставляет пробелы между блоками, и файл не должен быть частично записан где-то еще, когда он растет. Когда он растет. В основном, когда у вас есть видеофайл (который никогда не увеличивается), он все равно занимает больше места, чем необходимо, и, следовательно, тратит пространство. Ни одна система не является совершенной
BlueWizard
50

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

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

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

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

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

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

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

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

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

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

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

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

Фрагментация зависит от файловой системы (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.

MatthewRock
источник
3
Именно это. Фрагментация происходит на уровне FS независимо от носителя. На некоторые носители это влияет больше, чем на другие, но всегда есть какое-то влияние, и оно не исчезнет просто потому, что у вас есть SSD.
Дмитрий Григорьев
1
Основным отличием действительно Ext3 и FAT против Ext4 и NTFS; но даже тогда приложения, операционная система и даже аппаратное обеспечение вносят свой вклад , зачастую в значительную часть. Например, Windows упорядочивает файлы, используемые при запуске, в том порядке, в котором они используются, что позволяет большинству при запуске использовать чтение блоков вместо поиска. Вы можете назвать это дефрагментацией - просто помимо дефрагментации на уровне FS (уменьшающей фрагментацию файлов), она также «дефрагментирует» группы файлов для оптимизации доступа таким образом, что FS не может реально помочь. Вы можете представить множество подобных оптимизаций, например, перемещение библиотек DLL близко к EXE.
Луаан
Есть много разных слоев, которые имеют значение по-своему. Например, чередование является способом преднамеренной фрагментации, которая может улучшить производительность. Физическая организация жесткого диска также может использовать это, если жесткий диск имеет несколько головок, которые могут считывать данные с нескольких платформ одновременно. SSD не нужно вращать диск и перемещать головки для поиска, но у них все еще есть предел IOPS - и с сегодняшней скоростью SSD это часто более важно, чем сырая пропускная способность. Поиск SSD больше не достаточно быстр, чтобы насытить пропускную способность. Фрагментация является небольшой частью фундаментальной проблемы - кеширования.
Луаан
@Luaan: нет такой вещи как «поиск SSD». Я думаю, что вы на самом деле говорите о затратах на обработку каждой команды.
Бен Фойгт
1
@BenVoigt Я думаю, что Luaan означает, что неконсолидированные файлы по-прежнему читаются дольше, даже на твердотельных накопителях. Там нет задержки поиска, но есть существенная разница между последовательным и случайным чтением на SSD.
user1306322
7

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

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

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

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

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

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

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

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

а) У вас Samsung Evo 840 из-за медленного чтения старых файлов. Дефрагментация будет эффективно перезаписывать их, и они больше не будут старыми файлами.

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

c) Если у вас есть что-то близкое к современному ssd, случайная дефрагментация не повлияет на время его жизни, чтобы иметь значение. В 2018 году технический сайт проверил ssd на выносливость, и Samsung evo 840 500GB, который использует 2d tlc (который имеет очень плохую выносливость), потерял около 600 ТБ записей. Что-то лучше, вероятно, использует 3d tlc (называемый vnand некоторыми компаниями), который обладает гораздо большей выносливостью. Большие модели также имеют больше ячеек для записи, что еще больше увеличивает выносливость. И если у вас большой профессиональный накопитель, это не проблема (в тесте, о котором я упоминал ранее, Samsung Pro на 512 ГБ прослужил 9 ПБ записи ... большие / новые модели должны работать еще дольше). Эти цифры практически невозможно достичь, если вы не пытаетесь нарочно. Пишет раньше убивал (все равно дешевые,

orange_juice6000
источник
-3

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

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

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

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

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

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

Кристофер Заложник
источник
10
Не понизил, но было бы интересно увидеть источники для этого.
Brichins
3
Вы путаете усиление записи с выравниванием износа . SSD должны стереть, прежде чем они смогут записать, но они стирают большие блоки, чем они могут записать. Это означает, что одна запись может сделать несколько записей, чтобы перемешать данные и освободить блок для стирания. Когда происходит больше записей, этот процесс усложняется. Вот и пиши усиление. Существуют различные способы решения этой проблемы, такие как TRIM и избыточное выделение ресурсов. Выравнивание износа распределяет ячейки, в которые вы пишете, чтобы они полностью не выходили из строя.
Шверн