Как проверить работоспособность SSD?

81

Все мы знаем, что твердотельные накопители имеют ограниченный заранее определенный срок службы. Поэтому вопрос для меня заключается в том, как я могу проверить (Ubuntu) Linux, каково текущее состояние моего SSD? А может быть, оценка, сколько времени это займет?

Графический инструмент предпочтительнее, но инструмент командной строки тоже подойдет.

Я использую Xubuntu 12.04 LTS

Keiki
источник
1
Можете ли вы добавить вывод smartctl -i /dev/sdaна ваш вопрос?
Митч
1
@ dschinn1001 Не совсем так, это относится только к последним SSD. Известно, что SSD первого и второго поколений имеют ограниченный срок службы в зависимости от количества операций записи на диск.
Жоау Андре
1
Исходя из вращающихся дисков старой школы, я использовал инструменты для тестирования HD, которые записывали и читали весь диск несколько раз, что заняло несколько часов. Кажется, что ни один из упомянутых инструментов не использует такой подход? Разве такой подход не имеет смысла для SSD? Что ж, тогда кажется, что SSD регистрирует свой собственный опыт, а затем может определить, болен ли он. Правильно ли я понял это?
Мэдс Скьерн
@MadsSkjern Совершенно возможно использовать такой инструмент, как badblocks, для проверки состояния SSD. Однако есть очень веские причины НЕ делать этого. По моему опыту, SSD обычно выходят из строя после превышения определенного порога записи, поэтому разрушительный тест чтения-записи, который можно выполнить, badblocksможет фактически сократить срок службы накопителя.
Старейшина Гик

Ответы:

35

Установите Gnome Disk Utility и проверьте SMART Data and Tests на наличие уровней выравнивания износа или аналогичных. Чем выше это значение (%, от 1 до 100), тем больше «израсходовано» ваш SSD, что означает, что у вас, скорее всего, будут проблемы. Но если у вас недавно установлен SSD, вам не нужно об этом беспокоиться.

Установлено через

 sudo apt-get install gnome-disk-utility

начать через

либо меню-> Настройки-> Дисковая утилита

или через командную строку

sudo gnome-disks
Жоао Андре
источник
2
Да, я не был уверен насчет названия, потому что они изменили его в 12.10
Жоау Андре
8
palimpsest не распознается Ubuntu 14.04, хотя установлена ​​утилита gnome-disk. Я также не вижу дисковой утилиты в настройках (значок шестеренки). palimpsestужасное имя, меняется ли оно в зависимости от языка пользователя (например, английский или что-то еще).
Пол
10
как примечание для читателей; palimpset переименовывается в gnome-диски (как уже упоминалось в askubuntu.com/a/623306/4580 ).
immeëmosol
2
Почему вы говорите: «Если у вас недавно установлен SSD, вам не нужно об этом беспокоиться»?
JFA
2
Вы получили это задом наперед. Номер износа начинается с 100 и уменьшается в зависимости от использования, поэтому, чем выше этот показатель, тем меньше используется SSD, см. Здесь: superuser.com/questions/1037644/…
Logix
48

проверить работоспособность SSD

Для дистрибутивов на основе Ubuntu, Mint или Debian

# apt-get install smartmontools

Media_Wearout_Indicator - это то, что вы ищете. Если 100 означает, что ваш ssd имеет 100% жизни, то меньшее число означает, что осталось меньше жизни.

# smartctl -a /dev/sda | grep Media_Wearout_Indicator

Чтобы показать вашу SDD информацию

# smartctl -a /dev/sda

Вы можете прочитать полную статью в блоге Nam Huy Linux - Как проверить жизнь SSD в Linux

Бланка Хиггинс
источник
1
Итак, если мой имеет значение 199 - 199, это достоверно?
m4tm4t
7
Это свойство не отображается в моем SSD. Может мне стоит взглянуть на Wear_Leveling_Count? как в: sudo smartctl -a / dev / sda | grep Wear_Leveling_Count РЕДАКТИРОВАТЬ: Подтверждено ответом ниже: askubuntu.com/a/381779/221115
Хосе Гомес
На Кингстоне у вас естьWear_Range_Delta
phreakbox
В KINGSTON SV300S37A240G вы должны искатьSSD_Life_Left
Herlon Aguiar
Бланка Хиггинс, namhuy.net/1024/how-to-check-ssd-life-left.html мертва.
mr.zog
35

Если у вас нет SSD от Intel: ПРОЧИТАЙТЕ ЭТО.

Осторожно !! - Я был беспечно введен в заблуждение «smartmontools». У меня есть Samsung SSD, и инструмент smartmonitor / 'smartctl', к счастью, неверно сообщил, что атрибут ' 233' (шестнадцатеричный 'E9') был 'Media_Wearout_Indicator'; на самом деле - нет, для Samsung (и других производителей) дело обстоит иначе. Эта и другие публикации на форуме, вопросы / ответы по обмену стека и блоги опытных пользователей, которые я нашел, похоже, «сфокусированы на Intel», с лишь смутными намеками на то, что «это может измениться». (В отличие от любого предложения, что вам нужно остерегаться неправильной и ошибочной маркировки атрибута smartmontools).

Когда я готовился скопировать мой SSD на новый жесткий диск, который я купил (из-за того, что мне сказали smartmontools), я загрузился в windows (у меня есть система двойной загрузки), чтобы узнать кое-что о SSD из того, что доступно только для windows Инструмент Samsung 'Samsung_Magician_v43.exe' должен был рассказать мне о моем диске - он был шокирующе неинформативным.

После нескольких часов копания - я наконец-то смог запустить инструменты только для окон: hddgaurdian - 'code.google.com/p/hddguardian', а затем еще CrystalDiskInfo: Surprise! оба инструмента независимо говорят мне, что мой Samsung SSD «в порядке» (hdd guardian говорит «5 звезд» и Crystal Disk «98% OK»). В отличие от этого, инструмент smartctl явно обозначил атрибут как «десятичный-233 /« hex-E9 »как« Индикатор износа носителя »- и сказал мне, что его значение было« 1 »или 1% - показатель (риск) в ожидании сбоя. Чтобы быть настолько уверенным, насколько я могу, я вырыл и выкопал и, наконец, смог найти по крайней мере что-то от официального представителя Samsung: " http://www.samsung.com/global/business/semiconductor/minisite/SSD/us/download/ 07_Communicating_With_Your_SSD.pdf«В документе действительно подразумевается, что атрибут« hex E9 »/« decimal »233» не используется Samsung одинаково. (Samsung: Я очень разочарован, пожалуйста, исправьте ваш официальный программный инструмент или хотя бы сделайте это ясно, что вы не предоставляете информацию об износе!)

Кроме того, если у вас нет ни твердотельного накопителя Intel, ни накопителя Samsung, будьте осторожны, эта информация, похоже, различается у разных производителей. (например, см. таблицу меток атрибутов на code.google.com/p/hddguardian/wiki/about_reliability для единственного полезного указания степени изменчивости, которую я обнаружил.)

Так , что: Если у вас нет Intel SSD-- ничего не вводить в заблуждение ложных имен меток атрибутов , предоставленных SmartMonitor. Возможно, это улучшится в будущем, но версия, установленная по умолчанию для Ubuntu 12.04 LTS (апрель 2014 г.), полностью провалилась. Вместо того, чтобы сказать вам, что он «не знает» - smartctl просто неправильно назвал атрибут. Я не нашел другого инструмента для Linux, который бы делал «правильную» информацию прозрачной или ясной.

Мэтт С.
источник
1
Реквизиты для включения ссылки на документацию Samsungs об их атрибутах SMART. Я понятия не имею, что это за приложения, о которых вы упомянули, или насколько они полезны, но я настоятельно рекомендую вам просто следить за атрибутом № 5 «Перераспределенный счетчик секторов», так как это будет хорошим индикатором того, насколько близок ваш SSD. до отказа, так как, когда у него заканчиваются запасные сектора, он должен использовать их для замены неисправных, тогда вы будете приближаться к EOL на своем SSD
Макс
1
PDF теперь можно найти на samsung.com/global/business/semiconductor/minisite/SSD/M2M/...
Force
10

Для дисков Kingston на компьютерах на основе Debian

Аналогично этому ответу выполнить

# apt-get install smartmontools

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

# smartctl -a /dev/sda 
smartctl 6.2 2013-07-26 r3841 [x86_64-linux-3.13.0-45-generic] (local build)
[ ... ]
SMART support is: Available - device has SMART capability.
SMART support is: Disabled

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

# smartctl -s on -a /dev/sda

Затем вы можете выполнить самопроверку, выполнив короткий тест (который занял у меня около 1 минуты):

# smartctl -t short -a /dev/sda

или более тщательный тест (который занял у меня около 1,5 часов):

# smartctl -t long -a /dev/sda

Обратите внимание, что в большинстве случаев вам не нужно размонтировать диск для выполнения этих тестов. Если вы делаете, видите man smartctl.

Теперь при выполнении smartctl -a /dev/sdaвы должны увидеть результат теста самооценки. Это, вероятно, все, что вам действительно нужно беспокоиться:

=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED

Если вам нравятся подробности, вы также увидите следующую таблицу:

ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  1 Raw_Read_Error_Rate     0x0032   095   095   050    Old_age   Always       -       0/178007034
  5 Retired_Block_Count     0x0033   100   100   003    Pre-fail  Always       -       0
  9 Power_On_Hours_and_Msec 0x0032   092   092   000    Old_age   Always       -       7626h+46m+45.580s
 12 Power_Cycle_Count       0x0032   100   100   000    Old_age   Always       -       8
171 Program_Fail_Count      0x000a   100   100   000    Old_age   Always       -       0
172 Erase_Fail_Count        0x0032   100   100   000    Old_age   Always       -       0
174 Unexpect_Power_Loss_Ct  0x0030   000   000   000    Old_age   Offline      -       4
177 Wear_Range_Delta        0x0000   000   000   000    Old_age   Offline      -       1
181 Program_Fail_Count      0x000a   100   100   000    Old_age   Always       -       0
182 Erase_Fail_Count        0x0032   100   100   000    Old_age   Always       -       0
187 Reported_Uncorrect      0x0012   100   100   000    Old_age   Always       -       0
189 Airflow_Temperature_Cel 0x0000   030   035   000    Old_age   Offline      -       30 (Min/Max 24/35)
194 Temperature_Celsius     0x0022   030   035   000    Old_age   Always       -       30 (Min/Max 24/35)
195 ECC_Uncorr_Error_Count  0x001c   120   120   000    Old_age   Offline      -       0/178007034
196 Reallocated_Event_Count 0x0033   100   100   003    Pre-fail  Always       -       0
201 Unc_Soft_Read_Err_Rate  0x001c   120   120   000    Old_age   Offline      -       0/178007034
204 Soft_ECC_Correct_Rate   0x001c   120   120   000    Old_age   Offline      -       0/178007034
230 Life_Curve_Status       0x0013   100   100   000    Pre-fail  Always       -       100
231 SSD_Life_Left           0x0013   100   100   010    Pre-fail  Always       -       0
233 SandForce_Internal      0x0032   000   000   000    Old_age   Always       -       3498
234 SandForce_Internal      0x0032   000   000   000    Old_age   Always       -       2885
241 Lifetime_Writes_GiB     0x0032   000   000   000    Old_age   Always       -       2885
242 Lifetime_Reads_GiB      0x0032   000   000   000    Old_age   Always       -       868

Если вы ищете, что означают все эти значения, обратитесь к документации Kingston .

Майк
источник
Если вы собираетесь понизить голос, по крайней мере, оставьте комментарий ...
Майк
1
Не все твердотельные накопители Kingston поддерживают их все. Некоторые, которые не (например, мой UV400 ), показывают случайные числа в тех полях, которые они не поддерживают.
Отус
В ответе отсутствуют некоторые полезные советы о умных деталях. Просто чтобы убедиться, что читатель правильно читает итоговую таблицу значений. Короче говоря, мне кажется, что значение SSD_Life_Left является наиболее простым индикатором. Если 100, новый ssd, если 1, ssd ходячих мертвецов.
MH-Cbon
@ mh-cbon Поскольку ответ уже довольно многословен, я просто дал ссылку на документацию Kingston, поскольку там очень много деталей. Однако, если вы чувствуете, что можете улучшить ответ, не стесняйтесь редактировать его.
Майк
5

Wear_Leveling_Count - это правильный атрибут для отслеживания. Однако, как и другие атрибуты, 100 является лучшим значением, а 0 - худшим. Думайте об этом как о «проценте оставшейся жизни».

Джим Ван Зандт
источник
3
Это может варьироваться от производителя к производителю, но это, скорее всего, очень неправильно. На этой странице, объясняющей коды в микронах (иначе как критические, как в «критическом m4» и т. Д.), Этот код представляет собой «Среднее число стирания всех хороших блоков». Это число, которое будет увеличиваться с использованием. Если вы немного прочтете информацию о выравнивании износа , то поймете, что до того, как диск перестанет работать, он должен доходить, по крайней мере, до десятков тысяч (то есть вы, вероятно, не доживете до того момента, когда он умрет).
Златовласка
2
Шахта говорит 1461.
CMCDragonkai
4

Лучший способ проверить работоспособность SSD - это следовать рекомендациям производителя. Поскольку они варьируются от производителя к производителю и могут меняться со временем, рекомендуется проконсультироваться с производителем накопителей, если у вас есть проблемы. Основываясь на показателях MTBF (стандарт JEDEC JESD218A определяет метод), предоставленных большинством производителей, SSD должен без проблем работать более миллиона часов.

У меня есть несколько таких, охватывающих несколько производителей. Я могу гарантировать, что атрибуты SMART различаются у разных производителей. Для сравнения приведу пример из OCZ и интеллектуальные данные от устройства Corsair F40 вместе с обсуждением того, насколько ненадежными являются эти данные.

Хотя данные SMART, безусловно, могут иметь значение, поскольку в конечном итоге все устройства выходят из строя, важно регулярно выполнять резервное копирование данных. Это обеспечивает спокойствие, что ваши данные в безопасности, пока вы ждете (вероятно, в течение нескольких лет), чтобы ваш SSD вышел из строя. По мере снижения затрат и увеличения емкости, скорее всего, вы замените SSD из-за недостатка места, а не из-за отказа. (По моему опыту в 10 раз больше вероятности). Я бы просто регулярно делал резервные копии и не беспокоился об этом.

Источники:

Опыт работы, http://www.hardcoreware.net/mtbf-ssd-what-does-it-mean-for-you/

Старейшина Гик
источник
0

Для (хотя бы некоторых) накопителей NVMe вы можете сделать

smartctl -a /dev/nvme0

Затем вы можете найти строку вроде:

Percentage Used:                    5%

Здесь более низкие числа лучше и 100%означают, что диск "изношен". Документация производителя предполагает, что можно получить числа выше 100%, если вы продолжите использовать накопитель после этой точки ( пример от Seagate, см. Стр. 12 ).

Обратите внимание, что если вы используете пространство имен или устройства разделения, например /dev/nvme0n1или /dev/nvme0n1p1, это не будет работать, и вместо этого вы получите сообщение типа Read NVMe SMART/Health Information failed: NVMe Status 0x4002.

Нейт Элдридж
источник