Как измерить общее количество записей, выполненных на SSD в Linux?

13

Я искал в Интернете, чтобы найти инструмент / утилиту, которая может сказать мне общее количество записей, выполненных на SSD (или обычный диск). Вывод должен выглядеть примерно так:

SSD Intel 320S :- 
Total data written until now -- 2Tb
Total data read until now -- 4Tb
power on Hours -- 1234 Hrs
etc.

Но я не нашел ни одного. Кто-нибудь знает о таком инструменте?

Я знаю, что инструмент SSDLife в Windows делает это, но я специально ищу это в Linux.


Я посмотрел smartctlкоманду из smartmontoolsпредложенного Селивановым. Его пост был очень полезным. Я собираюсь добавить больше информации здесь, с которой я столкнулся после копания в Интернете.

Я нашел gsmartcontrol(версия GUI smartctrl) особенно полезным. Для получения дополнительной информации об этих инструментах класса проверьте Smartmontools - Документация сообщества Ubuntu . Эта ссылка имеет примеры для smartctl.

Чтобы понять, что означает каждый атрибут SMART, проверьте эти атрибуты Intel SMART . Эти атрибуты характерны для твердотельных накопителей Intel, но, тем не менее, дают представление о том, какую информацию передают атрибуты SMART. Некоторые конкретные параметры могут отличаться для разных SSD. Является ли размер LBA одним из них? Я не знаю.

Другой отличный источник информации - Как определить количество циклов записи или ожидаемый срок службы SSD под Linux? - Ошибка сервера . Здесь, лучший ответ показывает SMART Attribute Id 225стенды для общего количества операций ввода-вывода при записи размером 32 МБ, выполненных на SSD до сих пор. Однако это относится к Intel X25-M. Другие SSD могут использовать другие атрибуты SMART для передачи общих данных, записанных на диск.

В частности, для Samsung 840 Pro (и может быть даже для других твердотельных накопителей Samsung?) SMART Attribute Id 241 -- Total LBAs WrittenПередает эту информацию. Я предполагаю, что размер LBA составляет 512 байт, но я не уверен? Некоторые эксперименты, которые я проводил, записывали установленное количество данных на SSD и измеряли значение этого атрибута, показывая, что оно составляет 512 байт.

И Или
источник
ATA-6 48-битный LBA (выпущенный в 2003 году) позволяет адресовать до 128 пиБ дисковых локаций через 48-битный адрес LBA. Вычисление 128*2^50 / 2^48выходных данных 512, указывающее, что адресация на уровне диска выполняется в 512-байтовых блоках. (2 ^ 50/2 ^ 48 = 2 ^ (50-48) = 2 ^ 2, 128 * 2 ^ 2 = 512.)
CVn

Ответы:

9

Эти значения хранятся в атрибутах SMART . Вы можете использовать smartctlкоманду от smartmontools, чтобы получить их.

UPD smartctl -A /dev/sda | grep -i 'media_wearout_indicator' | tr -s ' ' | cut -d' ' -f4-5 выведет VALUE, WORST и THRESHOLD для Media_Wearout_Indicator. Примечание: для вашего устройства атрибут может иметь другое имя и пороговое значение или может быть вообще недоступен. Зависит от производителя устройства.

Селиванов Павел
источник
2
Если числа доступны через SMART, я нахожу SMART немного хитом, и это зависит от устройства. Другим вариантом в Linux является мониторинг и запись /proc/diskstats, хотя, очевидно, это сбрасывается при перезагрузке.
mr.spuratic
Вы не можете просто сказать «smartctl», не сказав нам аргументов для передачи!
Майкл
@Michael обновил ответ
Селиванов Павел
4

Чтобы быть немного более конкретным, чем другие, вы можете получить эту информацию smartctlс помощью -l devstatаргументов.

Пример вывода:

Device Statistics (GP Log 0x04)
Page Offset Size         Value  Description
  1  =====  =                =  == General Statistics (rev 1) ==
  1  0x008  4              288  Lifetime Power-On Resets
  1  0x018  6     348307315343  Logical Sectors Written
  1  0x020  6         34309409  Number of Write Commands
  1  0x028  6       3434309403  Logical Sectors Read
  1  0x030  6         34954859  Number of Read Commands
  4  =====  =                =  == General Errors Statistics (rev 1) ==
  4  0x008  4                0  Number of Reported Uncorrectable Errors
  4  0x010  4                0  Resets Between Cmd Acceptance and Completion
  5  =====  =                =  == Temperature Statistics (rev 1) ==
  5  0x008  1               13  Current Temperature
  5  0x010  1               16  Average Short Term Temperature
  5  0x018  1               25  Average Long Term Temperature
  5  0x020  1               34  Highest Temperature
  5  0x028  1               12  Lowest Temperature
  5  0x030  1               35  Highest Average Short Term Temperature
  5  0x038  1               16  Lowest Average Short Term Temperature
  5  0x040  1               26  Highest Average Long Term Temperature
  5  0x048  1               21  Lowest Average Long Term Temperature
  5  0x050  4                0  Time in Over-Temperature
  5  0x058  1               55  Specified Maximum Operating Temperature
  5  0x060  4                0  Time in Under-Temperature
  5  0x068  1                0  Specified Minimum Operating Temperature
  6  =====  =                =  == Transport Statistics (rev 1) ==
  6  0x008  4           224211  Number of Hardware Resets
  6  0x010  4              463  Number of ASR Events
  6  0x018  4                0  Number of Interface CRC Errors
  7  =====  =                =  == Solid State Device Statistics (rev 1) ==
  7  0x008  1                3  Percentage Used Endurance Indicator
Брайан Каин
источник
Это говорит о том, что 855 ГБ было записано на 256 ГБ SSD, который никогда не был заполнен более чем на 15% ... хотя я полагаю, возможно, это кажется ... чрезмерным ?
Майкл
@Michael Easy: кеш браузера; или, может быть, поставщик проводил испытания на только что изготовленном устройстве.
Селиванов Павел
3

Вы можете попробовать

# smartctl -a /dev/sda

smartctl -a /dev/sda
smartctl 5.41 2011-06-09 r3365 [x86_64-linux-3.2.0-49-generic] (local build)
Copyright (C) 2002-11 by Bruce Allen, http://smartmontools.sourceforge.net

=== START OF INFORMATION SECTION ===
Device Model: INTEL SSDSC2CW180A3
Serial Number: CVCV204408A6180EGN
LU WWN Device Id: 5 001517 bb2824682
Firmware Version: 400i
User Capacity: 180,045,766,656 bytes [180 GB]
Sector Size: 512 bytes logical/physical
Device is: Not in smartctl database [for details use: -P showall]
ATA Version is: 8
ATA Standard is: ACS-2 revision 3
Local Time is: Thu Jul 11 00:55:16 2013 PDT
SMART support is: Available – device has SMART capability.
SMART support is: Enabled

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

General SMART Values:
Offline data collection status: (0×00) Offline data collection activity
was never started.
Auto Offline Data Collection: Disabled.
Self-test execution status: ( 0) The previous self-test routine completed
without error or no self-test has ever
been run.
Total time to complete Offline
data collection: ( 2097) seconds.
Offline data collection
capabilities: (0x7f) SMART execute Offline immediate.
Auto Offline data collection on/off support.
Abort Offline collection upon new
command.
Offline surface scan supported.
Self-test supported.
Conveyance Self-test supported.
Selective Self-test supported.
SMART capabilities: (0×0003) Saves SMART data before entering
power-saving mode.
Supports SMART auto save timer.
Error logging capability: (0×01) Error logging supported.
General Purpose Logging supported.
Short self-test routine
recommended polling time: ( 1) minutes.
Extended self-test routine
recommended polling time: ( 48) minutes.
Conveyance self-test routine
recommended polling time: ( 2) minutes.
SCT capabilities: (0×0021) SCT Status supported.
SCT Data Table supported.

SMART Attributes Data Structure revision number: 10
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
5 Reallocated_Sector_Ct 0×0032 100 100 000 Old_age Always – 0
9 Power_On_Hours 0×0032 000 000 000 Old_age Always – 46385647693103
12 Power_Cycle_Count 0×0032 100 100 000 Old_age Always – 279
170 Unknown_Attribute 0×0033 100 100 010 Pre-fail Always – 0
171 Unknown_Attribute 0×0032 100 100 000 Old_age Always – 0
172 Unknown_Attribute 0×0032 100 100 000 Old_age Always – 0
174 Unknown_Attribute 0×0032 100 100 000 Old_age Always – 278
184 End-to-End_Error 0×0033 100 100 090 Pre-fail Always – 0
187 Reported_Uncorrect 0×0032 100 100 000 Old_age Always – 0
192 Power-Off_Retract_Count 0×0032 100 100 000 Old_age Always – 278
225 Load_Cycle_Count 0×0032 100 100 000 Old_age Always – 10754
226 Load-in_Time 0×0032 100 100 000 Old_age Always – 65535
227 Torq-amp_Count 0×0032 100 100 000 Old_age Always – 66
228 Power-off_Retract_Count 0×0032 100 100 000 Old_age Always – 65535
232 Available_Reservd_Space 0×0033 100 100 010 Pre-fail Always – 0
233 Media_Wearout_Indicator 0×0032 100 100 000 Old_age Always – 0
241 Total_LBAs_Written 0×0032 100 100 000 Old_age Always – 10754
242 Total_LBAs_Read 0×0032 100 100 000 Old_age Always – 21803
249 Unknown_Attribute 0×0013 100 100 000 Pre-fail Always – 357

SMART Error Log not supported
SMART Self-test Log not supported
Note: selective self-test log revision number (0) not 1 implies that no selective self-test has ever been run
SMART Selective self-test log data structure revision number 0
Note: revision number not 1 implies that no selective self-test has ever been run
SPAN MIN_LBA MAX_LBA CURRENT_TEST_STATUS
1 0 0 Not_testing
2 0 0 Not_testing
3 0 0 Not_testing
4 0 0 Not_testing
5 0 0 Not_testing
Selective self-test flags (0×0):
After scanning selected spans, do NOT read-scan remainder of disk.
If Selective self-test is pending on power-up, resume after 0 minute delay.

http://namhuy.net/1024/how-to-check-ssd-life-left.html

Элисон Салазар
источник
Какая линия вывода в вашем образце дает TBW?
Майкл