Чи є команда Terminal, яка покаже мені, скільки ГБ було записано на мій SSD протягом усього терміну служби диска? Я запитую, бо хочу дізнатися, скільки циклів зроблено. SSD здатні робити близько 1000-2000 циклів залежно від типу.
Чи є команда Terminal, яка покаже мені, скільки ГБ було записано на мій SSD протягом усього терміну служби диска? Я запитую, бо хочу дізнатися, скільки циклів зроблено. SSD здатні робити близько 1000-2000 циклів залежно від типу.
Відповіді:
Прочитайте наступні атрибути SMART вашого SSD за допомогою відповідного інструменту *:
241 - Загальна кількість записаних LBA: Загальна кількість 512-байтових секторів, записаних протягом усього терміну експлуатації пристрою.
242 - Загальна кількість прочитаних LBA: Загальна кількість прочитаних 512-байтних секторів протягом усього терміну експлуатації пристрою.
Другий набір атрибутів:
174 - Host_Reads_MiB
175 - Host_Writes_MiB
Але я не знаю, чи насправді значення, знайдені у другому наборі, мають сенс (принаймні, для мене з 120 ГБ SSD як однієї з частин накопичувача 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 ТБ HDD (друга частина накопичувача 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
Потім повторіть вищезгадані команди для зчитування та обчислення даних, записаних на диск.
smartctl -s on /dev/DiskIdentifier
. Тоді ви зможете отримати дані. Щоб знову відключити це:smartctl -s off /dev/DiskIdentifier
smartctl
його можна легко встановити за допомогою homebrew або порта і що для нього навіть є графічний інтерфейс .
В оригінальному дописі зазначається, що на SSD-дисках обмежується цикл 1000-2000, що надто спрощує проблему. Окремі комірки на SSD можуть мати таку межу, але SSD реалізує багато різних рішень: від надмірного забезпечення та вирівнювання запису до фірмового збору Sandforce збору дублювання, стиснення та методів розрізнення даних, який він називає "DuraWrite".
Назад до оригінальної публікації: такі методи, як iostat
, хоча це актуально, демонструють сукупну активність, але дуже важко працювати назад, щоб знати, скільки циклів програми / стирання було виконано для кожної комірки, а звідти, скільки життя залишається на SSD.
Корисною рекомендацією може бути уникнення заповнення SSD в межах 20% або більше від заявленої ємності та уникнення розгортання використовуваних SSD без відповідної резервної копії.
У Ars Technica є кілька дійсно корисних статей про роботу SSD-дисків. Найбільш прямо корисне це: " SSD-диски споживчих класів фактично тривають пекло довго ". Детальніше див. Тут , зокрема на сторінці 5.
Я встановив GSmartControl з Homebrew ( brew install gsmartcontrol
), і отримав це:
Атрибут SMART немає. 173 (кількість стирань або вирівнювання зносу) повинно означати використане загальне записування сектора.
Мій MacBook 2015 відповів на це (не 0xf1 ID):
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
Дуже докладний відповідь була дана в цьому питанні тут
Наступна команда
іостат -Id диск0
відображає статистику передачі даних з моменту встановлення пристрою до моменту запуску команди iostat.