В блоге и форуме я не раз писал, что современные ОС Windows не дефрагментируют SSD. Однако в Windows 8 и новее «из коробки» есть баг ограничение, из-за которого время от времени выполняется эта ненужная для твердотельных накопителей операция. Сегодня мы разберем проблему во всех подробностях.
Update (04-Dec-2014). Скотт Хансельман в своем блоге опубликовал разъяснения разработчиков Windows. Вкратце, Microsoft подтвердила дефрагментацию SSD и пояснила, что это сделано специально во избежание медленного создания точек восстановления. Я разбираю ситуацию подробнее в отдельной статье, и вам нужно обязательно прочесть ее тоже.
После записи об автоматическом обслуживании Windows читатель блога Владимир Наймушин написал мне, что у него при обслуживании осуществляется дефрагментация твердотельного накопителя. Он также прислал ссылку на форум, где упоминалась эта проблема.
Увидев ее следы у себя, я решил воспроизвести дефраг и разобраться в причинах.
[+] Сегодня в программе
- Как работает оптимизация дисков в Windows
- Как проверить, подвергался ли ваш SSD дефрагу
- В каких условиях происходит дефрагментация SSD
- Как воспроизвести дефраг
- Насколько дефрагментация вредна для SSD
- Как избежать дефрагментации SSD
- Вопросы и ответы
- В событии 258 нет информации о дефрагментации SSD. Означает ли это отсутствие бага?
- Надо ли следовать инструкциям в статье, если следов дефрагментации SSD не обнаружено?
- Что делать, если в ПК только твердотельные накопители?
- Как быть с разделом «Зарезервировано системой»
- Хочу увидеть дефраг SSD своими глазами, но не получается воспроизвести. Почему?
- Есть ли дефраг в Windows 7?
- Есть ли дефраг Windows 10, 11, …, 100500?
- Знает ли об этом Microsoft
- Дискуссия
Как работает оптимизация дисков в Windows
Чтобы открыть оптимизатор дисков, наберите dfrgui на начальном экране. Как и в Windows 7, он по расписанию выполняет дефрагментацию жестких дисков, но в современных ОС этим дело не ограничивается.
Смена названия утилиты связана с тем, что Windows не просто определяет твердотельные накопители, но и умеет отправлять их томам набор команд TRIM по расписанию, что занимает буквально несколько секунд. Это происходит вдобавок к стандартной отправке команд при удалении файлов.
За автоматическую оптимизацию всех дисков отвечает запланированное задание ScheduledDefrag. Отсутствие видимых триггеров связано с тем, что на свои прогулки оно выходит под зонтом автоматического обслуживания, выполняющегося в периоды бездействия ПК.
Проблема действительно возникает во время обслуживания, но лишь потому, что она кроется непосредственно в задании ScheduledDefrag. Давайте посмотрим, подвержены ли вы ей.
Как проверить, подвергался ли ваш SSD дефрагу
Начиная с версии 2.0, моя утилита CheckBootSpeed включает необходимую информацию в свой отчет. Если вы желаете сделать все своими руками, отфильтруйте журнал приложений по событию 258 от defrag или выполните команду PowerShell:
Get-EventLog -LogName Application -Source "microsoft-windows-defrag" | sort timegenerated -desc | fl timegenerated, message
В результатах команды ориентируйтесь по буквам дисков и типу операции, которых ровно три:
- анализ
- повторная оптимизация (re-trim)
- дефрагментация
В приведенном ниже фрагменте наряду с оптимизацией была сделана дефрагментация SSD.
TimeGenerated : 14.03.2013 3:32:24 Message : Модуль оптимизации дисков успешно завершил повторная оптимизация на System (C:) TimeGenerated : 14.03.2013 3:32:24 Message : Модуль оптимизации дисков успешно завершил дефрагментация диска на System (C:)
Обновляя утилиту CheckBootSpeed, я специально заложил в нее извлечение событий дефрага из журнала. А публичное бета-тестирование позволило мне собрать данные о проблеме на различных ПК. В комментариях к записи нет недостатка в отчетах, и вы можете убедиться, что большинство систем с Windows 8 на SSD подвержены этой проблеме.
Не наблюдалась она только у тех, кто установил систему недавно. В этом случае до дефрага дело могло и не дойти, потому что Windows толерантна к фрагментации дисков.
В каких условиях происходит дефрагментация SSD
Дефраг воспроизводится «из коробки». Конкретнее, должны быть включены служба планировщика заданий, а также задачи в папках TaskScheduler и Defrag. При этом фрагментация диска по мнению Windows должна быть свыше 10%.
Проверить состояние диска, как и прежде, можно командой:
defrag /a C:
С точки зрения файловой системы, данные фрагментируются не только на жестких дисках, но и на твердотельных накопителях.
Другое дело, что их эффективное распределение по ячейкам памяти возлагается на контроллер SSD.
Как воспроизвести дефраг
Графический интерфейс и утилита defrag.exe работают правильно, если передавать последней документированные параметры. В этом легко убедиться, выполнив оптимизацию в GUI или консоли:
defrag /o /u /v C:
Новый параметр командной строки /o отвечает за выбор оптимизации, соответствующей типу накопителя. Жесткие диски дефрагментируются, а твердотельным накопителям посылается набор команд TRIM. Я не нашел проблем с параметром /o, но для отправки команд TRIM есть другой — /l, который мы задействуем позже.
В этих случаях дефрагментация SSD не выполняется, даже если утилита командной строки рекомендует ее по результатам анализа.
Запланированное задание ScheduledDefrag передает утилите defrag.exe таинственный параметр $, который и является виновником. Если у вас SSD фрагментирован более чем на 10%, вы можете увидеть дефраг в действии, запустив задание.
Но на практике проблема возникает, когда задание дефрага стартует в рамках автоматического обслуживания, запущенного автоматически по расписанию или вручную из центра поддержки.
Выделенная ссылка в панели управления просто запускает задание планировщика Manual Maintenance. Оно выполняет те же действия, что и задание Regular Maintenance, работающее по расписанию.
В этом случае ваш SSD внезапно подвергается настоящей дефрагментации в пять проходов, рассчитанной на жесткие диски.
Следы черного дела старательно записывает журнал событий, как вы видели выше. Анализ диска в командной строке по окончании дефрага беспристрастно фиксирует сведенную к нулю фрагментацию.
Анализ фрагментации до обслуживания
C:\Windows\system32> defrag /a c: d: Оптимизация диска (Майкрософт) (c) Корпорация Майкрософт, 2012. Вызов анализ на Win8-SSD (C:)... Операция успешно завершена. Post Defragmentation Report: Сведения о томе: Размер тома = 111,44 ГБ Свободное место = 42,28 ГБ Общий объем фрагментированного пространства = 11% Максимальный размер свободного места = 23,55 ГБ Примечание. В статистику фрагментации не включаются фрагменты файлов, размер которых превышает 64 МБ. Рекомендуется выполнить дефрагментацию этого тома.
Анализ фрагментации после обслуживания
PS C:\Windows\system32> defrag /a c: Оптимизация диска (Майкрософт) (c) Корпорация Майкрософт, 2012. Вызов анализ на Win8-SSD (C:)... Операция успешно завершена. Post Defragmentation Report: Сведения о томе: Размер тома = 111,44 ГБ Свободное место = 40,53 ГБ Общий объем фрагментированного пространства = 0% Максимальный размер свободного места = 33,16 ГБ Примечание. В статистику фрагментации не включаются фрагменты файлов, размер которых превышает 64 МБ. Дефрагментация этого тома не требуется.
Замечу в скобках, что я также заранее включил ведение журнала для заданий в планировщике, чтобы четко задокументировать связь между автоматическим обслуживанием и дефрагом SSD.
Насколько дефрагментация вредна для SSD
В следующей записи я подробно и наглядно объясню, как на самом деле фрагментируются твердотельные накопители и почему им не нужна дефрагментация утилитами для жестких дисков. А сейчас я лишь отмечу, что излишние операции записи во время дефрага так или иначе негативно сказываются на количестве циклов перезаписи ячеек NAND.
Однако вывести количественную оценку вреда затруднительно, поскольку срок службы накопителя зависит от ресурса флэш-памяти, алгоритмов контроллера и выполняемых на ПК задач.
Эти задачи также играют основную роль в скорости фрагментации диска. Поскольку дефраг выполняется лишь при переходе порога 10%, в типичном домашнем компьютере SSD подвергается ему не очень часто.
Исходя из своего опыта, я оценивал частоту дефрага примерно как ежемесячную. Получив ваши отчеты, я проанализировал данные с 14 ПК, и оказалось, что в среднем все именно так и происходит (документ Excel доступен тут).
Ежемесячная дефрагментация не смертельна для SSD, но она совершенно не нужна!
Как избежать дефрагментации SSD
Поскольку дефрагментация реализована специально, убедитесь, что она вам не нужна, прежде чем отключать.
В голову сразу приходит отключение задания ScheduledDefrag или автоматического обслуживания, но это решение неэффективно. В первом случае вы блокируете запланированную отправку команд TRIM и дефраг жестких дисков, если таковые имеются, а во втором — выполнение других задач обслуживания.
Изменение задания ScheduledDefrag прямо в планировщике тоже сопряжено с побочным эффектом. Графический интерфейс оптимизатора при запуске проверяет запланированное задание:
Если сохранить настроенные параметры, утилита не запускается. В противном случае она приводит задание к исходному виду.
При любом раскладе дисков задача решается за несколько минут двумя простыми действиями.
1. Исключите SSD из автоматического обслуживания
Наберите dfrgui на начальном экране, чтобы открыть оптимизатор дисков.
- Нажмите кнопку «Изменить параметры».
- Откройте выбор дисков и снимите флажки с разделов твердотельных накопителей.
2. Создайте новое задание для оптимизации SSD
Мой метод может показаться вам странным, но я объясню свой выбор через минуту.
- Щелкните правой кнопкой мыши задание ScheduledDefrag и экспортируйте его с именем TRIM-SSD.
- Откройте файл в текстовом редакторе и измените описание и параметры команды. Смотрите выделенные строки в примере.
Пример задания для оптимизации (TRIM) SSD<?xml version="1.0" encoding="UTF-16"?> <Task version="1.4" xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task"> <RegistrationInfo> <Source>Корпорация Майкрософт</Source> <Author>Корпорация Майкрософт</Author> <Description>Эта задача выполняет оптимизацию SSD.</Description> <SecurityDescriptor>D:AI(A;;FA;;;BA)(A;;FA;;;SY)(A;;FRFX;;;LS)(A;;FR;;;AU)</SecurityDescriptor> </RegistrationInfo> <Triggers /> <Principals> <Principal id="LocalSystem"> <UserId>S-1-5-18</UserId> <RunLevel>HighestAvailable</RunLevel> </Principal> </Principals> <Settings> <MultipleInstancesPolicy>IgnoreNew</MultipleInstancesPolicy> <DisallowStartIfOnBatteries>true</DisallowStartIfOnBatteries> <StopIfGoingOnBatteries>true</StopIfGoingOnBatteries> <AllowHardTerminate>true</AllowHardTerminate> <StartWhenAvailable>true</StartWhenAvailable> <RunOnlyIfNetworkAvailable>false</RunOnlyIfNetworkAvailable> <IdleSettings> <StopOnIdleEnd>true</StopOnIdleEnd> <RestartOnIdle>false</RestartOnIdle> </IdleSettings> <AllowStartOnDemand>true</AllowStartOnDemand> <Enabled>true</Enabled> <Hidden>false</Hidden> <RunOnlyIfIdle>false</RunOnlyIfIdle> <DisallowStartOnRemoteAppSession>false</DisallowStartOnRemoteAppSession> <UseUnifiedSchedulingEngine>true</UseUnifiedSchedulingEngine> <MaintenanceSettings> <Period>P7D</Period> <Deadline>P1M</Deadline> <Exclusive>false</Exclusive> </MaintenanceSettings> <WakeToRun>false</WakeToRun> <ExecutionTimeLimit>PT72H</ExecutionTimeLimit> <Priority>7</Priority> </Settings> <Actions Context="LocalSystem"> <Exec> <Command>%windir%\system32\defrag.exe</Command> <Arguments>C: D: -l -h</Arguments> </Exec> </Actions> </Task>
- Импортируйте сохраненный файл в планировщик.
Все готово! Задание будет запускаться в рамках автоматического обслуживания, отправляя только перечисленным вами дискам команды TRIM (ключ -L).
Если автоматическое обслуживание у вас по какой-то причине отключено (что не рекомендуется), откройте задание и на вкладке «Триггеры» настройте его запуск еженедельно в любое удобное время.
Что мешает сразу создать в планировщике простое задание?
Ничего, если вы постоянно работаете с правами администратора. Однако мой метод также подходит тем, кто пользуется учетной записью с обычными правами. Оригинальное задание работает в контексте учетной записи «Система», равно как и задание, которое вы только что создали с минимальными усилиями!
Вопросы и ответы
Поскольку вопросы в комментариях уже идут по второму кругу, я буду добавлять некоторые ответы прямо в статью.
В событии 258 нет информации о дефрагментации SSD. Означает ли это отсутствие дефрага?
Это означает, что SSD не дефрагментировался. Например, дефрагментировать диск еще рано, потому что вы недавно установили систему.
Надо ли следовать инструкциям в статье, если следов дефрагментации SSD не обнаружено?
Инструкции исключают дефрагментацию SSD.
Что делать, если в ПК только твердотельные накопители?
Можно просто отключить задание ScheduledDefrag и создать задание TRIM-SSD, следуя инструкциям выше.
Как быть с разделом «Зарезервировано системой»?
С раздела «System Reserved» файлы не удаляются, поэтому и команд для отправки TRIM нет. Как следствие, достаточно исключить раздел из оптимизации в графическом интерфейсе оптимизатора дисков.
Если вы по неведомой причине считаете необходимым оптимизировать этот раздел, определите его путь на основе GUID и пропишите в XML-файле наряду с остальными томами SSD.
Хочу увидеть дефраг SSD своими глазами, но не получается воспроизвести. Почему?
Отключите задание ScheduledDefrag на месяц-полтора, потом запустите автоматическое обслуживание и смотрите, что происходит в dfrgui. См. также мой комментарий.
Есть ли дефраг в Windows 7?
Нет.
Есть ли дефраг в Windows 10, 11, …, 100500?
В статье достаточно информации, чтобы вы могли проверить это самостоятельно, а не задавать вопрос при каждом обновлении системы.
Продолжение следует…
Знает ли об этом Microsoft
Скорее, вопрос нужно ставить так: знает ли об этом соответствующая продуктовая группа. Я видел сообщение с изложением проблемы на западном форуме Answers, но отвечавший там инженер техподдержки отправил участника в форумы TechNet (sic!), тем самым закрыв тему. Отмечу, что у широкой публики нет другого официального пути доставки багов Windows в Microsoft.
Я задокументировал дефект и занес его на Microsoft Connect единственным доступным мне способом, хотя у меня есть обоснованные сомнения в действенности этого метода. Иногда лучше работает привлечение внимания широкой публики к проблеме, и вы можете помочь в этом, поделившись ссылкой на материал в социальных сетях и технических сообществах, в том числе и на его английскую версию.
Дискуссия
Если вы работаете в Windows 8, установленной на SSD, напишите в комментариях:
- модель SSD
- нашли ли вы у себя следы дефрага системного диска
- когда была установлена система
- сколько раз дефрагментировался накопитель с момента установки
Вся эта информация представлена в отчете утилиты CheckBootSpeed. Вы можете просто опубликовать его в комментариях. В этом случае, пожалуйста, замените первую строку на
[code lang="plain" collapse="true" title="Отчет CheckBootSpeed"]
Если вы уже публиковали отчет в рамках бета-тестирования, достаточно просто сослаться на свой комментарий.
Андрей Хабибулин
имеет ли смысл добавить для задания TRIM-SSD ключ -O «Оптимизация с использованием соответствующего типу носителя метода», и как влияет на процесс ключ -L «Повторная оптимизация выбранных томов», т.е. как поведет себя defrag.exe, без указания ключа -L ?
Vadim Sterkin
Андрей, цитата из статьи:
Dmitry
Вадим у меня возник вопрос. W8 установлена на магнитный диск но в системе имеется SSD с установленной W7. SSD диск в W8 скрыт (у него отсутствует буква диска). Поэтому ? — будет ли W8 проводить обслуживание и дефрагментацию моего SSD. Заранее спасибо.
Vadim Sterkin
Дмитрий, думаю, что будет. Она у меня второй SSD дефрагментировала прекрасно :) Точный ответ даст журнал событий (CheckBootSpeed).
Semargl
Вадим, под шагом 1 вы имеете ввиду: 1. Исключите SSD из автоматического обслуживания.
Так у меня только ссд.. Если снять галочки с диска С и раздела зарезервированного системой, то кнопка ок становится неактивна.
Vadim Sterkin
Ах вот оно что :) Тогда можно просто отключить выполнение по расписанию в том же GUI.
Денис
Задание создал, всё вроде бы отрабатывает нормально. До этого дефрагментация раздела SSD проводилась 3 марта и 4 апреля, как раз ежемесячно.
Вадим, у меня вопрос, проистекающий, видимо, из недопонимания принципов работы планировщика.
Для проверки того, как отрабатывает задание TRIM-SSD, я запустил его вручную. Так вот, не смотря на то, что в журнале планировщика и выводе eventlog’а задача оптимизации вроде бы завершена, в планировщике состояние задачи «Работает». Почему так?
Скриншот прилагается: http://yadi.sk/d/0IPr_pjG3vtkW
Vadim Sterkin
Денис, нажмите F5 в планировщике, должно помочь :)
Денис
Vadim Sterkin,
Действительно :)
Алексей
Запустил программку по ссылке из статьи — оказывается Windows не только мой SSD, но и мою 32-гигабайтную флешку успела пару раз отдефрагментировать. :) ССД в среднем два раза за месяц.
Спасибо.
Комментарий приведен в соответствие с правилами обсуждений без искажения сути. Вадим
Юрий
Решил воспользоваться данной методикой для применения в Win 7. TOSHIBA использует утилитку для защиты жесткого диска, при использовании SSD установщиком эта утилита была все равно инсталлирована..,вроде работает,но иногда при старте выскакивает синий экран-программное приложение и память(память исправна).Касательно изменения задания в планировщике-в примере не ошибки-вместо «смотрите», возможно» сотрите»?
Vadim Sterkin
Юрий, в Windows 7 у defrag.exe нет ключей для TRIM, поэтому вам достаточно первого пункта решения.
Стирать ничего не надо, в статье правильно написано.
Юрий
Да, Вадим,-по ошибке я и сам после понял))Спасибо.
Павел
Уважаемый Вадим! Как Вы думаете, возможно современные накопители не нуждаются в получении команды TRIM от ОС, а делают это самостоятельно, с определенной изготовителем периодичностью?
И второй вопрос, касательно настройки планировщика, а возможно ли создать задание с триггером «на простой», чем чреват столь частый запуск TRIM в таком случае?
Vadim Sterkin
Павел,
1. Ваше предположение неверно. Подробнее — читайте в ПН блоге статью о TRIM.
2. Отправка TRIM не наносит никакого вреда. При простое — можно, но я не тестировал этот вариант. Потому что при простое сразу запускается автоматическое обслуживание, а свое задание вы можете создать только спустя N секунд после простоя. Поэтому команды TRIM могут отправляться менее регулярно, чем по расписанию.
Юрий
Vadim Sterkin
Юрий, и что? Да у вас видно событие дефрага. Но исходя из отчета, создается ощущение, что вы решали вопрос как-то по-своему — задание дефрага отключено, а его параметры отсутствуют.
Юрий
Vadim Sterkin,
Что сделать??? как будет правильно??? ТRIM-SSD добавил в ScheduledDefrag и дал параметры по проведению задания…
Еще интересует разница в скорости работы ССД —
Sequential Read MB/s 65536 8.1 522.47917
Random Read MB/s 16384 8.2 411.43000
так и должно быть?
Vadim Sterkin
Юрий, к чему первые два вопроса с шестью вопр. знаками? В статье написано, что и как делать. Добавление TRIM-SSD отчет мне не показывает, зато я вижу остальное.
Скорости ок.
r3code
Модель Intel SSD 330, как видно из отчета дефраг был.
IO
Вадим, надеюсь на всеобщее снисхождение к 57-летнему чайнику, юзающему различные Никсы с 2007 года. Являюсь собой счастливым обладателем OSZ Agility 60 Gb, примерно в течение года. На диске стоял тандем Win7R5SP1 и Mandriva Linux2011? в раскладе: 20 гб =Win; 6,5гб=/ ; 1,5гб=swop; 31гб=Home. Скорость загрузки обеих систем, субъективно, в три раза быстрее, чем в аналогичном раскладе, на 320-гигабайтном HDD Это — к вопросу заполненности дискового пространства SSD, и его производительности. Виндовс-7 работала стабильно без принятия ограничительных мер по продлению её конвульсий. В Мандриве, наблюдались периодические «Откаты» системных настроек, с периодичностью — два раза в месяц. База экспериментов — ноутбук VAIO (VPCEH), с CPU B960 на 2,2 ггц, и 4 гб оперативной памяти. Неделю назад была монопольно установлена Мандрива 64 Бит, и через неделю эксплуатации, всё закончилось отказом в доступе ко входу в Линукс- систему. Если не считать моего частного мнения об относительной ненадёжности некоторой части выпускаемых в продажу SSD то следует АКЦЕНТИРОВАЬТЬСЯ на сторонней информации, игнорировать которую — дорогого стоит… Итак: НАСТОЙЧИВО рекомендую к поиску и внимательному прочтению, СТАТЬЮ в журнале «CHIP», № 09, Сентябрь 2012 года; страницы: с 40 по 43. Статья, под рубрикой «Уловки производителя», озаглавлена: «ПЛАНОВОЕ СТАРЕНИЕ УСТРОЙСТВ». И, поверьте, сия, достойна Вашего внимания. ЭТО — часть резюмироющих фактов по конкретной проблеме: «ПРОДЛЕНИЕ АГОНИИ SSD», если так можно выразиться… ((Там-же, в журнале, есть второстепенно-рекламная статья о возможностях SSD, стр. 62-67)). К сему лишь прибавлю, что я совсем НЕ против Ваших изысканий, уважаемый Вадим. Потому что мы с Вами идём к Истине. Только различными путями. Мудрецы прошлого советуют: » ЗРИ В КОРЕНЬ». И, возможно(!), Вы однажды, собрав воедино все факты, вдруг ощутите себя опытным Дон-Кихотом, бьющимся с ветряными мельницами нескончаемого глюка Имени вИНДОВС. И, сконцентрируете Ваш боевой задор на боле прогрессивных системах… Задумайтесь: — «Корпорация Майкрсофт официально — не признаёт существование Юникс и Линукс — систем. Но : «На серверах Майкрософт установлены Юникс(линукс)-подобные операционные системы. ЗАДУМАЙТЕСЬ, УВАЖАЕМЫЕ, —> ПОЧЕМУ ВСЁ СИЕ ПРОИСХОДИТ ??? Спасибо за терпение всем, и автору — за поднятую на флагшток — тему. Спасибо !
Анатолий
Вадим, баг присутствовал, исправил … благодарю ;)))
зы 8 установлена в марте, 3 раза успел сделать … еще раз СПАСИБО!
Vadim Sterkin
Пожалуйста, Анатолий :)
Alex
Здравствуйте, Вадим.
Приобрел ноутбук ASUS N76VB, предустановлена ОС Windows 8
Стоит SSD Kingston 256Gb, правда почему то он был установлен в качестве кэша, а основным диском был HDD Samsung 1TB.
Я переустановил диски местами, на SSD поставил 8 родную, но нигде не могу найти ScheduledDefrag, в планировщике заданий его нет
Может будете так добры подсказать где смотреть?
Вот запись анализа Вашей утилитой
—————————————————-
Vadim Sterkin
Алекс, смотрите в планировщике. В статье же есть картинка. Библиотека — Microsoft — Windows — Defrag. Если в папке пусто, задание кто-то удалил — возможно, изготовитель ноутбука.
Alex
Большое спасибо, Вадим, за ответ…
Arsen
Попробовал сегодня на W8. В системе один SSD разбитый на несколько разделов (OS, Data, swap).
Event Viewer показывает события 258 примерно каждую неделю, причем парами для каждого раздела (с одним и тем же timestamp’ом):
The storage optimizer successfully completed retrim on SYSTEM (C:)
The storage optimizer successfully completed defragmentation on SYSTEM (C:)
Фрагментация (defrag /a): OS — 2%, Data — 7%, Swap — 24%.
События от defrag /a в Application Log появились.
Проверил Task Scheduler. Странный -$ в строке запуска defrag (ScheduledDefrag) присутствует.
Запустил Scheduled Defrag ручками — отработала за считаные секунды, ничего не изменилось ни на одном разделе. Даже в логе ничего от Defrag не появилось!
Запустил Manual Maintenance через Action Center (что она вообще делает? Там чуть ли не Full Memory Check запускается..) и дождался завершения — та же картина.
В dfrgui проверил, что все диски выбраны для оптимизации. Определяются корректно как SSD, кнопка Optimize отрабатывает за секунду, в логе появляется только retrim.
Так что, воспроизвести баг вашим методом не удалось. Или у меня всё хорошо — или всё очень плохо :) Следующий плановый defrag должен случиться через пару дней — посмотрю на фрагментацию диска Swap.
Vadim Sterkin
Арсен, мой метод воспроизведения был в том, чтобы отключить дефраг на месяц сначала. См. также этот комментарий, например.
См. первую ссылку в статье.
Arsen
Vadim Sterkin, ответы приняты, ссылку прозевал — прочитал с удовольствием. Очень полезную работу делаете! Погляжу, есть ли у вас подобный обзор логов для Vista/7/8.
В обшем, поставлю себе галочку, дабы в течении месяца позаглядывать в статус фрагментации дисков и в логи.
Лев
вот же дернул черт провести на днях «оптимизацию» SSD.
спасибо за разъяснения. Гибернацию и Восстановление не трогал, ума хватило.
Денис
Ну дефрагментирует и пусть, тоже нашли проблему. Я без TRIM-а вообще живу и ничего.
Vadim Sterkin
Денис, гордиться тут нечем…
александр
неужели дефрагментатор ос может произвести действительную дефрагментацию ссд в обход алгоритма работы контроллера самого ссд?
Vadim Sterkin
Александр, дефрагментатор взаимодействует с файловой системой, а не с NAND. См. Нужна ли SSD дефрагментация
ts
Добрый день, Вадим.
Вот установил на этой неделе себе SSD в ноутбук. Отзывчивость конечно радует =)
Что уже сделал:
1) 20% оставил не размечеными при установке системы. Правда создался раздел HP_TOOLS после установки драйверов, но там не много 2 Гб.
2) Изменил дефрагментацию, как сказано в данной статье.
Планирую еще чуть позже оптимизировать автозапуск по книге.
Спасибо вам за блог!
Модель SSD:
Samsung SSD 840 Pro на 256 Гб.
Отчет:
Vadim Sterkin
Спасибо, что читаете мой блог!
20% неразмеченных + 15% стандартной резервной области — это много для домашних задач.
Оптимизировать автозапуск необязательно, особенно в Windows 8 с ее отложенным автозапуском.
ts
Ну если хватать не будет — накину… Задел есть.
Ясно. Но во всяком случае прочитаю книгу — чтоб лучше разбираться.
John
С выходом Windows 8.1 Preview, хотелось бы узнать как в ней обстоят дела с этой проблемой.
Vadim Sterkin
Мне тоже хотелось бы. Вы знаете, как это выяснить -> проверьте и расскажите нам :)
Вадим В.
На Windows 8 Pro x64 в просмотре событий была дефрагментация двух разделов на SSD (C: Windows и Reserved).
—
Решил это проверить на виртуальной машине.
— Windows 8 была установлена туда совсем недавно, оценка системы ещё не проводилась.
— После установки системы, антивируса, браузера, видеоплеера, и DC-клиента фрагментация на диске стала 7% (проверял AusLogics Disk Defrag).
— Затем запустил вручную в Обслуживание в Центре поддержки и видел, как винда дефрагметировала виртуальный SSD-диск.
— После этого фрагментация стала 0% (проверено AusLogics Disk Defrag).
Это информация о моём воспроизведении бага, учитывая, что дефраг произошел при 7%, а не 10%.
Вот скрин: http://yadi.sk/d/WWAZsE7C72Ft8
—-
После этого SSD из обслуживания исключил, TRIM-SSD в планировщике создал (на время простоя).
—
Спасибо, Вадим, что осветили эту проблему!
Vadim Sterkin
Вадим, эксперимент на виртуалке некорректен. Откройте dfrgui и посмотрите, что там написано напротив диска :)
Вадим В.
Vadim Sterkin, диски там определяются как «твердотельные накопители», только написано, что «оптимизация невозможна», но это не помешало сделать дефрагментацию во время обслуживания.
Вот скрин: http://yadi.sk/d/uiaMcJw1760BG
———
В чём же некорректность эксперимента?
Vadim Sterkin
Вадим, тестируя взаимодействие ОС с устройствами, грамотнее использовать физическую машину, а не виртуальную, вносящую дополнительную переменную в уравнение. В VM, поднятой на Hyper-V, SSD определяются как Thin provisioned drive (Диск с тонкой подготовкой), т.е. четко видна составляющая виртуализации.
Анатолий
Прога ваша у меня не работает, ошибка 0x800706BE
Vadim Sterkin
Анатолий, вы первый с такой ошибкой. Уверен, что проблема не в утилите, а в вашей ОС (что-то вырезано, повреждено). Начните диагностику отсюда.
Jericho66
Kingston V300 60GB
команда «defrag» выдала 14%
Систему установил месяц назад
Игорь
Так как обстоят дела в 8.1?
Vadim Sterkin
Игорь, в 8.1 Preview проблема была.
P.S. Мой обходной путь обеспечивает правильную работу вне зависимости от того, исправлен баг или нет.
Дмитрий
Заметил баг сразу же после покупки SSD и установки Windows 7.
Странно было что все вокруг писали что «должно отключаться» и это фишка W7,а по факту дефрагментация работала и я ее отрубал вручную.
На W8 в событиях точно так же есть следы дефрагментации SSD месяц назад и ранее.
3 дня назад накатил сверху W8.1 RTM, проблема есть. Отключил по вашей инструкции, спасибо.
Vadim Sterkin
Дмитрий, в Windows 7 бага нет. У вас она работала* либо потому, что диск не обозначал себя как non-rotational media, либо был слишком медленным. Не исключены проблемы с драйвером и прошивкой.
*Служба дефрагментации может работать, если в системе есть HDD. Это не означает, что SSD дефрагментируется.
В Windows 8 баг дефраг может выполняться также из-за описанного выше бага.
Игорь
Как это проверить?
Vadim Sterkin
Игорь, читайте связанные статьи.
Лев
Вадим, как посмотреть что именно делают параметры -l и -h?
справка defrag.exe ? выдает:
/L Повторная оптимизация выбранных томов
/H Запуск операции с обычным приоритетом.
Будет ли вообще выполнятся TRIM в отсутствии /O ?
Vadim Sterkin
Лев,
/l — TRIM для SSD, ничего для HDD
/o — TRIM для SSD, дефраг HDD
Если явно указано /l, /o уже не нужно.
Посмотреть можно, запуская команды в консоли (и в журнале постфактум).
/h — посмотреть можно в диспетчере задач или Process Explorer
Лев
В командной строке выдает такое:
Microsoft Windows [Version 6.2.9200]
(c) Корпорация Майкрософт, 2012. Все права защищены.
C:\Windows\system32>defrag /h
Оптимизация диска (Майкрософт)
(c) Корпорация Майкрософт, 2012.
Укажите том, для которого необходимо выполнить эту операцию. (0x89000007)
/лишнее удалено. Вадим
Vadim Sterkin
Лев, читайте написанное на экране — это полезно :) Я удалил лишнее из вашего вывода команды, должно быть яснее теперь…
Лев
Похоже локализация виновата.
Повторная оптимизация — это локализованный перевод re-trim ?
и второй вопрос — что за ключик -k (в русской В8 оптимизация памяти на выбранных томах) ?
Можете выслать мне на электронку что английская W8 сообщает в ответ на:
«defrag -?»
Vadim Sterkin
Лев, гм… вы запускаете дефраг с определенным приоритетом, но забываете указать утилите букву диска! Она вам русским языком пишет — скажи мне том, а у вас локализация виновата :)
Вот тут локализация виновата :) Это slab consolidation* (консолидация слоев), что относится к SAN и VM Hyper-V с VHD на SSD.
*The process of reducing the number of slabs allocated in thinly provisioned arrays and thinly provisioned virtual disks by rearranging data from sparsely populated slabs to densely populated slabs.
В английской справке Windows 8 это описано (русскую версию читать не советую).
Upd (2014). Уже не описано, но веб-архив все помнит.
Лев
я запускал дефраг с «?» в параметрах, он действительно ругался на отсутствие тома НО после этого выводил СПРАВКУ про СВОЙ синтаксис и параметры своей командной строки. Если в параметрах указать «-?» сообщения о неправильном томе не буде, будет только справка!:
Справка вторично удалена. Вадим
Vadim Sterkin
Лев, отображение справки при вводе команд с неверным синтаксисом — это распространенная практика утилит Windows. В некоторых случаях они отображают сообщение об ошибке.
В связи с этим у меня к вам две просьбы:
1. Перестаньте постить в комментариях справку утилиты defrag — это никому не нужно.
2. Начните читать написанное на экране. Это относится в том числе и к моим ответам вам.
Я редко повторяю что-то более двух раз.
Лев
Признаюсь, трудно сразу понять ответ специалиста с его особой манерой общения.
Лично для меня такой ответ не понятен:
«Посмотреть можно, запуская команды в консоли (и в журнале постфактум).
/h — посмотреть можно в диспетчере задач или Process Explorer
»
Ответ «/l — TRIM для SSD, ничего для HDD» без ссылки на первоисточник тоже лично мен я не устроил. Поэтому и пошли вопросы с цитированием справки defrag в которых ни слова про trim, а только про повторную оптимизацию.
Ответ про «-к» не сразу дошел, уж извините, больше задела ваша «шутка» в первой части того комментария.
По теме, по универсальности лечения, в задании планировщика TRIM-SSD поставил ключи:
-c -l -h
с HDD никаких действий происходить не будет, а несколько SSD или разделов на них могут быть.
Vadim Sterkin
Ну, тут надо немного подумать, сопоставляя назначение ключа (приоритет процесса) со сказанным. К тому же, консоль вам подсказала, чего не хватает.
1. В статье объясняется назначение ключа (Ctrl+F — /l).
2. Какой первоисточник вам нужен? defrag /? у вас есть — вы результат уже дважды постили.
Я не шутил, а ответ до вас «дошел» только после того, как я еще раз сослался на него в ответ на ваше письмо.
По теме — вы сделали неправильно. Даже если это будет работать, правильный способ описан в статье.
Если вам не нравится моя манера общения — не общайтесь со мной :) Мне тоже не нравится общаться с людьми, которым надо все повторять по несколько раз, а в итоге они все равно делают не так, как им говоришь…
Извините, вы исчерпали лимит моих ответов.
gorinich
в Win 8.1 баг не решен. более того, и 8 и 8.1 не видят SSD в рейде. оптимизатор воспринимает рейд как HDD.
Piston
Выше отписавшийся прав, дефрагментация имела место на ряду с оптимизацией при автоматическом обслуживании в Windows 8.1.
Настроил согласно статье, запустил обслуживание вручную, проверил, осталась только оптимизация.
Но вопрос такой возник. Автор рекомендует назначить еженедельное обслуживание SSD в плановщике, а автоматическое обслуживание по умолчанию носит ежедневную периодичность. Может имеет смысл изменить последнее также на еженедельно?
Vadim Sterkin
Странная логика. Зачем менять параметры автоматического обслуживания? Если хотите делать TRIM каждый день, настройте задание на ежедневное выполнение.
Piston
Vadim Sterkin,
Логика железная:
1) пусть TRIM настроен на каждую неделю, как Вы рекомендуете
2) по умолчанию обслуживание настроено ежедневно и оно также включается в себя TRIM (я проверял в РowerShell, выдало что диски hdd дефрагментированы, а ssd повторно оптимизирован)
Данное несоответствие и вызвало вопрос. Очевидно, что если обслуживание будет выполнятся ежедневно, то зачем тогда дополнительный еженедельный TRIM?
Vadim Sterkin
Простите, я не улавливаю вашей логики… Предлагаемый мной путь исключает SSD из автоматического обслуживания, и при этом TRIM выполняется отдельным, специально созданным заданием. Поэтому я и не понимаю, откуда у вас берется «дополнительный TRIM».