ПОЛНОЕ РАСКРЫТИЕ ИНФОРМАЦИИ: Представленные в этом ответе команды scipt / являются не моими собственными, а скорее работой JDG Leaver. Они были получены из сообщения в блоге на его сайте .
NB:
- Это будет сообщать только точные цифры для твердотельных накопителей Samsung
- Вам необходимо
smartctl
установить
Способ 1:
Вот небольшой удобный скрипт, который позволит вам контролировать TBW вашего SSD, а также некоторую другую информацию:
#!/bin/bash
#######################################
# Variables #
#######################################
SSD_DEVICE="/dev/sda"
ON_TIME_TAG="Power_On_Hours"
WEAR_COUNT_TAG="Wear_Leveling_Count"
LBAS_WRITTEN_TAG="Total_LBAs_Written"
LBA_SIZE=512 # Value in bytes
BYTES_PER_MB=1048576
BYTES_PER_GB=1073741824
BYTES_PER_TB=1099511627776
#######################################
# Get total data written... #
#######################################
# Get SMART attributes
SMART_INFO=$(sudo /usr/sbin/smartctl -A "$SSD_DEVICE")
# Extract required attributes
ON_TIME=$(echo "$SMART_INFO" | grep "$ON_TIME_TAG" | awk '{print $10}')
WEAR_COUNT=$(echo "$SMART_INFO" | grep "$WEAR_COUNT_TAG" | awk '{print $4}' | sed 's/^0*//')
LBAS_WRITTEN=$(echo "$SMART_INFO" | grep "$LBAS_WRITTEN_TAG" | awk '{print $10}')
# Convert LBAs -> bytes
BYTES_WRITTEN=$(echo "$LBAS_WRITTEN * $LBA_SIZE" | bc)
MB_WRITTEN=$(echo "scale=3; $BYTES_WRITTEN / $BYTES_PER_MB" | bc)
GB_WRITTEN=$(echo "scale=3; $BYTES_WRITTEN / $BYTES_PER_GB" | bc)
TB_WRITTEN=$(echo "scale=3; $BYTES_WRITTEN / $BYTES_PER_TB" | bc)
# Output results...
echo "------------------------------"
echo " SSD Status: $SSD_DEVICE"
echo "------------------------------"
echo " On time: $(echo $ON_TIME | sed ':a;s/\B[0-9]\{3\}\>/,&/;ta') hr"
echo "------------------------------"
echo " Data written:"
echo " MB: $(echo $MB_WRITTEN | sed ':a;s/\B[0-9]\{3\}\>/,&/;ta')"
echo " GB: $(echo $GB_WRITTEN | sed ':a;s/\B[0-9]\{3\}\>/,&/;ta')"
echo " TB: $(echo $TB_WRITTEN | sed ':a;s/\B[0-9]\{3\}\>/,&/;ta')"
echo "------------------------------"
echo " Mean write rate:"
echo " MB/hr: $(echo "scale=3; $MB_WRITTEN / $ON_TIME" | bc | sed ':a;s/\B[0-9]\{3\}\>/,&/;ta')"
echo "------------------------------"
echo " Drive health: ${WEAR_COUNT} %"
echo "------------------------------"
Вот пример вывода:
------------------------------
SSD Status: /dev/sda
------------------------------
On time: 2 hr
------------------------------
Data written:
MB: 25,098.917
GB: 24.510
TB: .023
------------------------------
Mean write rate:
MB/hr: 12,549.458
------------------------------
Drive health: 100 %
------------------------------
Эти данные точны, так как я только что установил свой новый 850 Pro.
Способ 2:
Кроме того, вот одна строка, чтобы получить только TBW:
echo "GB Written: $(echo "scale=3; $(sudo /usr/sbin/smartctl -A /dev/sda | grep "Total_LBAs_Written" | awk '{print $10}') * 512 / 1073741824" | bc | sed ':a;s/\B[0-9]\{3\}\>/,&/;ta')"
You'reAGitForNotUsingGit
источник
Total_LBAs_Written
о том, что он равен 2268, и это дает 1,1 МБ записи, что явно неверно для диска, которому более года, и он является моим основным системным диском :(Crucial Оставшийся срок службы SSD
Для Crucial SSD (производства Micron) вопрос оставшегося срока службы упрощен.
https://www.micron.com/~/media/documents/products/technical-note/solid-state-storage/tnfd22_client_ssd_smart_attributes.pdf
Этот документ идентифицирует 202 как процент оставшегося времени жизни. В качестве примера в Ubuntu 16.04 (
sudo smartctl /dev/sda1 -a
) сообщает 202 как неизвестное, но значение 90 (в моем случае) соответствует описанию в pdf и указывает на 90% оставшегося срока службы. Это может быть соответствующим образом масштабировано с помощью TBW, приведенного в литературном файле важный.com на вашем диске. На самом деле оставшееся время жизни более полезно.источник
Принятый ответ имеет раздутый вывод, слишком много бесполезных скриптов-волшебников и скрывает исходные имена параметров
smartctl
. Вот лучшая версия;образец вывода:
и однострочник
источник