Defraggler оптимизация ssd что это

Обновлено: 07.07.2024

Несомненно, вопрос, вынесенный в заголовок статьи, не нов, поднимался не раз и по нему достигнут консенсус «не особо нужна, и даже может быть вредна».
Однако недавнее обсуждение в комментариях заставило меня ещё раз задуматься.

Со временем любой SSD всё равно сильно фрагментируется (внутри, в FTL)… Свежезаписанный SSD при линейном чтении даст высокую скорость, а уже поработавший — гораздо ниже, потому что линейными оно будет только для вас.

Да, обычно такое не должно происходить: или мы пишем «понемногу» в мелкие файлы/небольшие блоки метаинформации ФС (скорость линейного чтения которых нас не особо волнует), либо же мы пишем «помногу» в большие файлы и всё будет хорошо. Бывает и дозапись мелкими блоками в большие файлы — логи, например, однако они относительно короткоживущие и особой проблемы я тут не вижу.
Но легко представился вполне реальный сценарий, при котором всё-таки внутренняя фрагментация SSD может проявиться: файл базы данных, в который идёт достаточно активная случайная запись. Со временем он (оставаясь нефрагментированным на уровне операционной системы) окажется физически очень даже фрагментированным, что может существенно снизить скорость seq scan, резервного копирования и т.п.

Для проверки я написал скрипт и провёл тесты.

Спойлер: проблема присутствует (существенно влияет на производительность) только на одной из попавшихся под руки моделей (и та позиционируется производителем не как datacenter, а как десктопная/ноутбучная).

Про что тут вообще речь? Какая ещё фрагментация внутри SSD?

Если в двух словах, SSD устроен очень непросто. В NAND flash можно писать (точнее стирать) только большими блоками. А операционная система видит SSD как набор 512-байтовых (или 4096-байтовых) секторов, каждый из которых может быть адресован независимо.
Чтобы как-то это совместить, придумана такая вещь, как FTL (flash translation layer): данные во flash-памяти лежат не последовательно, а (очень условно) в том порядке, в котором они были записаны, что-то вроде log-структурированных файловых систем.
Такие структуры очень хорошо обрабатывают случайную запись, превращая её в последовательную, но, увы, ничто не бывает бесплатно — в результате зачастую последовательное чтение превращается в случайное.

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

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

Немного о том, почему нужно заполнять SSD перед тестированием

Не раз встречал обзоры, в которых запускают чтение с нового накопителя, получают какие-то фантастические цифры и, ничтоже сумняшеся, публикуют их. Через какое-то время тест повторяют уже на не столь девственном диске, и вдруг оказывается, что время доступа выросло, а скорость, соответственно, упала.
Дело в поддержке TRIM: контроллер внутри SSD может «знать», что в конкретном блоке нет полезных данных, информация об этом хранится в FTL. И при запросе на чтение из такого блока он не обращается к медленной NAND flash, а сразу возвращает нули. На новом накопителе все блоки помечены как неиспользуемые, соответственно, в тестах на чтение он готов ставить рекорды. Только нас же интересует с какой скоростью SSD умеет отдавать не нули, а данные.

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

Поэтому, перед тестированием стоит заполнять SSD несжимаемыми данными (в linux хорошим источником может служить /dev/urandom ).

тестовый файл создаётся в текущем каталоге.

тестировал только под linux c dash, coreutils и fio из debian buster, с другими дистрибутивами навряд ли будут проблемы, а вот под freebsd и другие операционные системы скорее всего скрипт придётся «допиливать».

Обнаружилось, что NVMe-накопители intel у меня сейчас только на серверах с windows; пришлось с помощью гугла, stackexchange и какой-то матери слепить вариант и под винду

Из внешних зависимостей только fio ; путь к exe-файлу и временному файлу указывается в первых строчках скрипта.

Получил следующие результаты:

  • фоновой дефрагментации в тестируемых моделях не обнаружено: скорость чтения не повышается через некоторое время после записи, в том числе длительный «отстой» (час и даже более суток) ничего не меняет, поэтому в таблице ниже привожу просто лучший результат из трёх запусков;
  • под windows почему-то время чтения менее стабильно и оказалось выше ожидаемого (впрочем, возможно, дело в том, что эти сервера оказались более нагружены);
  • продолжение записи сверх указанного в скрипте (перезапись файла более одного раза) не влияет на производительность.

Время чтения (в секундах) файла размером 4Гб для разных дисков:

Диск Первое чтение после последовательного заполнения файла После случайной записи 50Мб +200Мб +800Мб +4000Мб
intel S3510 SSDSC2BB480G6 10.7 10.7 10.8 10.8 10.8
toshiba XG5 KXG50ZNV512G 1.9 2.9 3.7 4.8 6.8
samsung PM963 MZQLW960HMJP 2.8 3.2 3.5 3.7 4.2
samsung PM983 MZQLB960HAJR 3.3 3.6 3.4 3.4 3.4
samsung PM981 MZVLB1T0HALR 1.8 1.8 2.1 2.5 3.5
samsung PM1725b MZPLL1T6HAJQ 1.8 1.9 2.0 2.3 2.9
micron 5200 eco 9.3 9.8 10.4 12.2 10.7
samsung PM883 MZ7LH1T9HMLT 7.9 7.9 8.1 8.1 8.0
intel P3520 (win) 5.8 5.9 6.0 6.1 5.8
intel P4500 (win) 4.2 4.2 4.3 4.4 4.3

Жирным отмечены DC модели (остальные — десктопные/ноутбучные); где SATA, а где NVMe, думаю, видно без пояснений.

Мы видим, что по мере случайной записи в файл у самсунга PM981 скорость чтения падала и в итоге упала вдвое (но осталась, правда, достаточно неплохой), а у единственной тошибы в таблице — вовсе в 3.5 раза, фактически сравнявшись с таковой у SATA устройств.
С другой стороны, у большинства устройств случайная запись или вовсе не повлияла на производительность, или повлияла незначительно.

Моя интерпретация этих результатов: скорость линейного чтения у SSD действительно может деградировать со временем, однако деградация, вызванная внутренней фрагментацией, не носит совсем уж фатального характера на большинстве дисков (на дисках intel, например, она вовсе незаметна; на дисках samsung если и заметна, всё равно скорость чтения остаётся вполне приемлемой).

Остаётся открытым вопрос деградирует ли скорость чтения со временем по другим причинам (например, из-за износа NAND flash).
Могу сказать про тошибу XG5: разницы в поведении между диском, на который по SMART было записано >>150Тб, и новым диском я не заметил ­— или 300-400 перезаписей недостаточно, чтобы износ flash стал заметен, или он вовсе не влияет на производительность SSD.

По поводу падения производительности после случайной записи: у меня как раз на такой тошибе хранится достаточно нагруженная БД mysql размером около 100Гб. Действительно, в полном соответствии с изложенными выше теорией и измерениями, скорость чтения «боевых» таблиц mysql оказалась достаточно низкой (около 600Мб/с), скорость же чтения других крупных файлов с той же файловой системы гораздо выше (>2Гб/с).

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

Не должно приводить к потере данных, но я не тестировал на боевых системах, ничего не гарантирую!
Есть ещё одно «но»: я не уверен на 100%, что все SSD правильно обрабатывают ситуацию «пишем нули в область, для которой до этого делали TRIM» (то есть с точки зрения накопителя области ФС, на которые ранее делали TRIM, могут теперь считаться не свободными, а занятыми данными).
В целом, рекомендация « забить смириться или выбирать диски» остаётся в силе.

Резюме: дефрагментация может быть полезна для некоторых SSD, однако не совсем такая (совсем не такая?) как для HDD. Нам важно не только то, что файл расположен в непрерывной цепочке секторов, но и то, что запись в эти секторы шла последовательно.

Если компьютер начинает работать медленнее, увеличилось время отклика программ и жёсткий диск стал работать более шумно пора оптимизировать ПК. Один из способов такой оптимизации — это дефрагментация диска программой Клинер.

Что такое дефрагментация и для чего она нужна

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

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

Дефрагментация для оптимизации работы винчестера

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

Пример фрагментации файла

Нужна ли дефрагментация для HDD и SSD

Что для одного типа накопителя хорошо — для другого типа зло. Это справедливо для типов накопителей HDD и SSD. Если HDD, это намагниченные, вращающиеся пластины, с которых считывается информация с помощью, перемещающейся по всей поверхности пластин, головки, то SSD — это, по сути, большая флешка. В нём нет вращающихся и движущихся элементов и считывание информации происходит иначе. Операционная система обращается к нужному документу сразу и при записи на такой накопитель файлы не разбиваются на фрагменты.

HDD может служить много лет. Его срок службы не ограничен количеством записываемой информации. И если периодически его форматировать или проводить дефрагментацию, то винчестер может служить и 20 лет. При условии бережного обращения, не допуская перегрева или перепадов напряжения. Тогда как срок жизни SSD напрямую зависит от количества циклов записи/перезаписи.

Для SSD это количество равно (примерно) 5000 циклов (примерный срок службы такого твердотельного накопителя составляет 5-7 лет). То есть по исчерпании этого лимита на твердотельный накопитель уже нельзя будет что-то записать. И если вы задаётесь вопросом, нужна ли дефрагментация для твердотельного накопителя SSD, то ответ — не нужна, даже, наоборот, вредна! Дефрагментация — это несколько циклов записи/перезаписи файлов на жёстком диске. В случае с SSD это только сократит срок службы твердотельного накопителя.

Установка и работа с программой Defraggler

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

Дефрагментация винчестера с помощью Defraggler:

  1. Скачиваем и устанавливаем Defraggler с официального сайта (ссылка в конце статьи).
  2. При установке выбираем русский язык в выпадающем списке в правом верхнем углу установщика. В противном случае программа по умолчанию будет установлена на английском языке.
  3. Запускаем программу и видим в верхней части рабочего окна список дисков с необходимой информацией:
  • тип носителя;
  • объём;
  • занятое место;
  • свободно место;
  • фрагментация;
  • состояние.

Главное окно Defraggler

До того как мы проведём анализ, пункты «Фрагментация» и «Состояние» имеют значение «Неизвестно» и «Готовность».

    Выбираем диск, который нам нужно дефрагментировать и нажимаем кнопку «Анализ» в нижней панели.

Анализ диска с помощью Defraggler

Результаты анализа диска с помощью Defraggler

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

Карта диска

Здесь в разделе «Состояние» можно посмотреть более подробную статистику диска. В программе есть визуальная шкала отображения хода дефрагментации, где отчётливо видно как появляющиеся и исчезающие жёлтые и зелёные квадратики перемещаются по карте диска, постепенно выстраивая все файлы в порядке убывания от самого объёмного до самых лёгких файлов.

Состояние диска

Заключение

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

Описание

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

Распространяется бесплатно, но есть и платная версия Professional с расширенной поддержкой. Сравнить версии можно на сайте разработчика. Поддерживаются различные языки, в том числе, русский. Работает на системах семейства Windows.

Как пользоваться

Перед дефрагментацией рекомендуется сделать проверку диска;

Скачиваем и запускаем файл установки программы. Отвечаем на вопросы мастера. После запускаем программу (пуск — все программы — Defraggler – Defraggler);

Выбор диска для дефрагментации

Нажимаем кнопку «Анализ» и ждем окончания проверки;

Дефрагментация диска — анализ

Внимательно смотрим на результаты анализа;

Результаты анализа в Defraggler

Если число фрагментированных данных на диске больше 5%, рекомендуется провести дефрагментацию. Нажимаем кнопку «Дефрагментация»;

Дефрагментация

Дожидаемся окончания процесса и закрываем программу;

Для SSD дисков доступна оптимизация — заполнение свободного места нулевыми данными, что увеличивает производительность на запись:

Оптимизация SSD носителя

Соглашаемся с предупреждением о временном уменьшении дискового пространства и дожидаемся окончания операции.

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

Быстро расходуется ресурс SSD: причины и решения

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

Анализ темпов расхода ресурсов SSD

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

Например, Samsung Magician. Это фирменная утилита от Samsung для анализа состояния вашего твердотельного накопителя. В блоке «состояние» софт показывает количество перезаписанных терабайт с момента включения диска. Ваша задача — снять показания в начале дня и в конце, после чего путем вычитания получить дневной объем перезаписи. Точность измерений в программе - сотни гигабайт.


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


Обратите внимание, что для сбора статистики софт должен проработать весь день.

Также подсчитать ежедневную выработку ресурса можно по CrystalDiskInfo по следующей формуле:

Число хост записей / общее время работы х 24


Например, для нашего случая: 13757 Гб / 1776 ч. х 24 = 185 Гб в сутки. Однако учтите, что это ориентировочный показатель, который определяет средний объем перезаписи за все время работы диска, поэтому учитывает установку игр, программ, обновление ОС и другие единичные объемные записи.

Много это или мало? Для игровых и офисных сборок объем перезаписи в среднем не превышает 30 Гб в сутки. Если вы часто смотрите ролики или записываете торренты на SSD, то ежедневная выработка может увеличиться до 150 Гб. При работе со специализированными программами эти параметры могут быть намного больше.

Если вы не пользуетесь профессиональным софтом по обработке фото или видео, то аномальным расходом ресурса можно назвать показатель больше 300 Гб в сутки.

Причины расхода ресурса SSD

Если говорить о Windows 10, то система должна автоматически определить наличие твердотельного накопителя и выставить соответствующие настройки. В большинстве случаев все работает корректно, но бывают и исключения, особенно, если обновление Windowsвышло с багами. Мы рекомендуем проверить все необходимые параметры самостоятельно и убедиться, что система выставила все корректно.

Дефрагментация дисков

Windows 10 автоматически определяют SSD, отключая для него функцию дефрагментации. Вы можете убедиться в этом самостоятельно:

  1. Перейдите в свойства вашего SSD диска и на вкладке «Сервис» нажмите «Оптимизировать».
  2. Убедитесь, что напротив SSD стоит запись «твердотельный накопитель», как это показано на изображении.


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

Для этого запустите в командной строке от имени администратора «winsat diskformal». Система проведет оценку и на основе скоростей чтения и записи выставит правильный тип для диска.


У пользователей также встречались единичные случаи, когда SSD накопитель распознавался как жесткий диск, а вышеописанная команда не давала результата. В этом случае вам следует попробовать переустановить драйвера на диск. Совет может быть актуален в том случае, если вы клонировали систему с HDD на SSD.

Проверка работы TRIM

Функция TRIM автоматически подчищает неиспользуемые ячейки памяти. Ее включение больше всего сказывается на скорости чтения и записи, но также частично влияет и на стабильность работы. TRIM для SSD рекомендуется включать. Проверить ее состояние можно с помощью различных программ, включая SSDLife и Samsung Magician:


Однако для полной достоверности мы рекомендуем использовать командную строку — введите «fsutil behavior query disabledeletenotify» и нажмите Enter. Наличие нулей говорит о том, что функцияTRIM работает.


Если напротив NTFS стоит 1, то TRIM нужно активировать — введите команду «fsutil behavior set disabledeletenotify NTFS 0».

Режим гибернации

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

Совет больше актуален для пользователей со специализированным софтом, например, Premiere и After Effects и объемом ОЗУ от 16 Гб. В этом случае большая часть оперативной памяти при уходе в гибернацию будет записана на диск. При 3-4 гибернациях в день это даст до 50 Гб записи ежесуточно. Для обычных пользователей ОЗУ редко заполняется больше 8 Гб, поэтому запись этого объема на диск при гибернации на фоне всего ресурса незначительна.

Чтобы отключить режим гибернации, запустите командную строку от имени администратора и введите powercfg -h off.


Проверка на вредоносное ПО

В условиях современных реалий майнинг криптовалюты стал возможен даже на HDD и SSD накопителях. Недавно мы рассказали, почему так подорожали диски и что такое Chia. Всегда есть вероятность, что какой-нибудь вирус в системе ведет регулярную запись данных, которая ускоряет расход ресурса SSD.

Единственный способ найти и избавиться от этой проблемы — антивирусное ПО. Мы рекомендуем последовательно проверить ваш компьютер несколькими программами:

    . Бесплатная утилита для сканирования системы на вирусы. Широкие настройки, но актуальная версия меняется каждые 5–7 дней, это вынуждает заново скачивать новую версию.


    . Фирменная утилита от крупнейшей компании, специализирующейся на антивирусном ПО. Присутствует выбор объектов для проверки, доступ к карантину.


    . Интуитивно-понятный и функциональный софт для поиска различных типов вирусов и не только.


Если система не загружается, то чистку можно сделать с помощью загрузочной флешки, используя Dr.Web Live Disk или Kaspersky Rescue Disk.

О наличии вируса также может говорить постоянная загрузка процессора или аномальная сетевая активность.

Работа фоновых программ

Некоторые вполне привычные приложения могут записывать огромные объемы данных в кэш. Мы рекомендуем проанализировать каждую из представленных групп.

Браузеры и мессенджеры. В ходе работы этих приложений могут формироваться временные файлы объемом в десятки гигабайт. Также браузер способен «подтягивать» включение других приложений. Яркий пример – «Яндекс», который тянет за собой еще несколько сервисов, таких как «Алиса» и другие.

Системы резервирования. Речь идет о программах Acronis True Image и аналогичных. Они могут автоматически делать резервное копирование дисков или отдельных папок, проводить синхронизацию и так далее. Все это — лишние операции записи. Проверьте расписание создания резервных копий, а лучше всего уберите подобный софт из автозагрузки, если для вас это не критично.


Торренты. Если вы часто качаете фильмы, игры и другие данные из сети, то будьте готовы к большим объемам записи.

Повреждения системных файлов

В редких случаях это приводит к некорректной работе определенных служб: Superfetch, Windows Search, Центр обновления Windows и других. Например, служба может постоянно искать и скачивать обновления для ОС, но при этом не предлагать пользователю установить их.


Если же ошибки не удалось устранить, то в командной строке необходимо выполнить последовательно две команды. Первая проверит целостность хранилища: DISM /Online /Cleanup-Image /CheckHealth.


Вторая — DISM /Online /Cleanup-Image /RestoreHealth — выполнит восстановление поврежденных компонентов.


Если не помогает и это, то придется использовать оригинальный образ для восстановления.

Неправильная работа контроллера

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


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

Читайте также: