Сколько данных было записано на мой SSD за время его жизни?

15

Есть ли команда терминала, которая покажет мне, сколько ГБ было записано на мой SSD за все время существования диска? Я спрашиваю, потому что я хочу узнать, сколько циклов было сделано. SSD способен выполнять около 1000–2000 циклов в зависимости от типа.

Lachtan
источник
Какой SSD у вас на Mac?
bmike
Если вы записываете 1000 циклов на диск объемом 250 ГБ, это означает, что вы записали 250 ТБ данных. Даже если вы пишете 50 ГБ каждый день, для его уничтожения потребуется 13 лет.
Томас Аюб
2
Я на самом деле в среднем 32 ГБ в день на моем SSD. У меня уже зарегистрировано 42 ТБ записей, и «уровень износа» составляет всего 88%, а общее количество записей «99%» (что бы это ни значило) в соответствии с DriveDx. Мой привод был включен в течение 20 месяцев. У меня нет абсолютно никаких ошибок или плохих секторов.
zagadka314
1
@ThomasAyoub 50 ГБ / день - чертовски недооценка благодаря свопу! Host_Writes_MiB моего твердотельного накопителя объемом 120 ГБ - 317296939 (это 2421 цикл ), а Wear_Leveling_Count - FAILING_NOW. Моему macbook далеко не 13 лет, больше как 4 года.
Навин
2
@ Навин, тогда я согласен, что был совершенно неправ.
Томас Аюб,

Ответы:

7

Считайте следующие атрибуты SMART вашего SSD с помощью соответствующего инструмента *:

241 - Всего записано LBA: общее количество секторов по 512 байт, записанных за весь срок службы устройства.

242 - Всего прочитанных LBA: общее количество секторов по 512 байт, прочитанных за весь срок службы устройства.

Второй набор атрибутов:

174 - Host_Reads_MiB
175 - Host_Writes_MiB

Но я не знаю, действительно ли значения, найденные во втором наборе, действительно имеют смысл (по крайней мере, для меня с твердотельным накопителем на 120 ГБ в качестве одного из дисков Fusion), потому что на SSD записывается значительно больше данных, чем на жестком диске, хотя SSD имеет только 1/25 размера:

0xae Host_Reads_MiB          ----CK   100   100   000    -    12268569 (~12 TiB)  
0xaf Host_Writes_MiB         ----CK   100   100   000    -    16481745 (~16 TiB) 

по сравнению с жестким диском объемом 3 ТБ (вторая часть привода Fusion):

0xf1 Total_LBAs_Written      ------   100   253   000    -    21361815408 (~10 TiB)  
0xf2 Total_LBAs_Read         ------   100   253   000    -    23925221693 (~11 TiB)

После установки smartmontools следующие команды дают записанные данные в ГБ, если существует атрибут «242 Total_LBAs_Written»:

smartctl -s on -i -A -f brief -f hex,id -l devstat /dev/DiskIdentifier | grep 0xf1 | awk '{ print $8/1953125 }'

или в туберкулезе:

smartctl -s on -i -A -f brief -f hex,id -l devstat /dev/DiskIdentifier | grep 0xf1 | awk '{ print $8/1953125000 }'

Замените «DiskIdentifier» идентификатором вашего внутреннего SSD, найденного с помощью diskutil list. Вероятно, это диск0.

Следующая команда возвращает записанные данные в ГБ, если существует атрибут «175 - Host_Writes_MiB» (относитесь к результату с осторожностью):

smartctl -s on -i -A -f brief -f hex,id -l devstat /dev/DiskIdentifier | grep 0xaf | awk '{ print $8/953.67 }'

Как уже упоминалось ранее, замените «DiskIdentifier» идентификатором вашего внутреннего SSD, найденного с помощью diskutil list. Вероятно, это диск0.

Команды smartctl выше не работают очень надежно (по крайней мере, для меня).
Если вы получили сообщение об ошибке «Ошибка чтения SMART-данных: неопределенная ошибка: 0», попробуйте smartctl -A /dev/disk0сначала.
Если вы получаете сообщение об ошибке типа «SMART Disabled. Используйте опцию -s с аргументом« on », чтобы включить его». Попробуйте попробуйте smartctl -s on -A /dev/disk0
затем повторить приведенные выше команды для считывания и вычисления данных, записанных на диск.

* smartmontools

klanomath
источник
OS X не включает SMART в SSD по умолчанию? Позволит ли оно предоставить информацию о прошлой истории?
grg
@grgarside Перед публикацией я проверил мой Fusion-SSD и SMART был включен. Не могу найти эти атрибуты, хотя.
klanomath
Мой «APPLE SSD SM256E» (rMBP) показывает «Доступен», но «Отключен» с помощью smartctl.
grg
@grgarside Включить его с помощью smartctl -s on /dev/DiskIdentifier. Тогда вы сможете получить данные. Чтобы отключить его снова:smartctl -s off /dev/DiskIdentifier
klanomath
1
Возможно, вы захотите добавить, что smartctl его можно легко установить с помощью homebrew или порта и что для него даже есть графический интерфейс .
n1000
5

В оригинальном сообщении упоминается, что твердотельные накопители имеют ограничение цикла 1000-2000, что упрощает проблему. Отдельные ячейки в SSD могут иметь такое ограничение, но SSD реализует множество различных решений: от избыточного выделения ресурсов и выравнивания записи до собственной коллекции Sandforce по методам дедупликации, сжатия и различий данных, которую он называет «DuraWrite».

Вернемся к первоначальному посту: такие методы, как iostat, хотя и актуальны, показывают совокупную активность, но очень трудно вернуться назад к знанию того, сколько циклов программирования / стирания было выполнено для каждой ячейки, а оттуда, сколько осталось жизни на SSD.

Полезная рекомендация может заключаться в том, чтобы не заполнять твердотельные накопители примерно до 20% от их заявленной емкости, а также избегать развертывания используемых твердотельных накопителей без надлежащего резервного копирования.

У Ars Technica есть пара действительно полезных статей о том, как работают SSD. Наиболее полезным является следующее: « SSD-накопители потребительского класса на самом деле работают очень долго ». Для получения более подробной информации смотрите здесь , в частности, на странице 5.

Чарльз Линдсей
источник
4

Я установил GSmartControl с Homebrew ( brew install gsmartcontrol), и получил это:

GSmartControl скриншот OSX

Атрибут SMART № 173 (счетчик стирания или выравнивание износа) должен означать израсходованные общие записи сектора.

Мой MacBook 2015 ответил (без идентификатора 0xf1):

smartctl -s on -i -A -f brief -f hex,id -l devstat /dev/disk0 
smartctl 6.4 2015-06-04 r4109 [x86_64-apple-darwin15.0.0] (local build)
Copyright (C) 2002-15, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Device Model:     APPLE SSD SM0256G
...
LU WWN Device Id: 5 002538 900000000
Firmware Version: BXW1SA0Q
User Capacity:    251 000 193 024 bytes [251 GB]
Sector Sizes:     512 bytes logical, 4096 bytes physical
Rotation Rate:    Solid State Device
Device is:        Not in smartctl database [for details use: -P showall]
ATA Version is:   ATA8-ACS T13/1699-D revision 4c
SATA Version is:  SATA 3.0, 6.0 Gb/s (current: 6.0 Gb/s)
...
SMART support is: Available - device has SMART capability.
SMART support is: Enabled

=== START OF ENABLE/DISABLE COMMANDS SECTION ===
SMART Enabled.

=== START OF READ SMART DATA SECTION ===
SMART Attributes Data Structure revision number: 1
Vendor Specific SMART Attributes with Thresholds:
ID#  ATTRIBUTE_NAME          FLAGS    VALUE WORST THRESH FAIL RAW_VALUE
0x01 Raw_Read_Error_Rate     -O-RC-   200   200   000    -    0
0x05 Reallocated_Sector_Ct   PO--CK   100   100   000    -    0
0x09 Power_On_Hours          -O--CK   099   099   000    -    180
0x0c Power_Cycle_Count       -O--CK   099   099   000    -    650
0xa9 Unknown_Attribute       PO--C-   229   229   010    -    1975773037504
0xad Unknown_Attribute       -O--CK   200   200   100    -    4296081414
0xae Unknown_Attribute       -O---K   099   099   000    -    2547718
0xaf Program_Fail_Count_Chip -O---K   099   099   000    -    1304888
0xc0 Power-Off_Retract_Count -O--C-   099   099   000    -    1
0xc2 Temperature_Celsius     -O---K   059   022   000    -    41 (Min/Max 19/78)
0xc5 Current_Pending_Sector  -O---K   100   100   000    -    0
0xc7 UDMA_CRC_Error_Count    -O-RC-   200   199   000    -    0
                             ||||||_ K auto-keep
                             |||||__ C event count
                             ||||___ R error rate
                             |||____ S speed/performance
                             ||_____ O updated online
                             |______ P prefailure warning

ATA_READ_LOG_EXT (addr=0x00:0x00, page=0, n=1) failed: 48-bit ATA commands not implemented
Read GP Log Directory failed

Device Statistics (GP/SMART Log 0x04) not supported
eSzeL
источник
-2

Очень подробный ответ был дан в этом вопросе здесь

Следующая команда

iostat -Id диск0

отражает статистику передачи данных с момента подключения устройства до момента запуска команды iostat.

Chrisii
источник
6
Несмотря на то, что это дает полезную информацию, как это применимо к «в течение всего срока службы диска»?
grg
2
Это только записывает сумму чтения + записи МБ с момента загрузки или что-то. Обычно такая же статистика, как в Activity Monitor, вкладка Disk.
Адам Хошек