Узнаём количество записанных данных на SSD в Linux
Твердотельные накопители (SSD) становятся все более и более распространенными. Проблема, связанная с твердотельными накопителями, заключается в ограниченном сроке службы их ячеек. В зависимости от технологии изготовления каждая ячейка может быть перезаписана от 1000 раз в потребительских твердотельных накопителях TLC до 100 000 раз в корпоративных твердотельных накопителях на базе SLC.
Значение, на которое следует обратить внимание, — это гарантированный TBW (Total Bytes Written или Terabytes Written), которое обычно предоставляется поставщиком в характеристиках накопителя. Это значение указывает, как много данных может быть записано на устройство до истечения срока действия гарантии.
Но также нам необходимо знать, сколько данных уже было записано на накопитель. И если программы с графическим интерфейсом в Windows могут эту информацию сообщить нам сразу, то в терминале Linux нам придётся проделать некоторые действия и математические операции.
Для начала необходимо установить пакет smartmontools, если он у вас не установлен:
sudo apt install smartmontools
Теперь необходимо получить два значения из S.M.A.R.T. накопителя: количество перезаписанных секторов и размер одного сектора. Количество перезаписанных секторов получаем из поля Total_LBAs_Written:
~$ sudo smartctl /dev/sda --all | grep Total_LBAs_Written
246 Total_LBAs_Written 0x0032 100 100 000 Old_age Always - 138501480

«138501480» — и есть требуемое нам число.
Теперь узнаем размер сектора:
~$ sudo smartctl /dev/sda --all |grep "Sector Size"
Sector Size: 512 bytes logical/physical
Чтобы узнать количество записанных данных нужно перемножить эти два значения:
138501480 * 512 = 70 912 757 760 байт = 66 ГБ
В некоторых SSD параметр Total_LBAs_Written также может называться Total_Sector_Writes.
Вот так в линуксе можно легко узнать, сколько ресурса накопителя уже истрачено. А ещё можно отправлять эти данные для отображения на графиках Monitorix.