Ile danych zostało zapisanych na moim dysku SSD przez cały okres jego użytkowania?

15

Czy istnieje polecenie terminalu, które pokaże mi, ile GB zostało zapisanych na moim dysku SSD przez cały okres istnienia dysku? Pytam, ponieważ chcę dowiedzieć się, ile cykli zostało wykonanych. SSD są w stanie wykonać około 1000–2000 cykli w zależności od typu.

Lachtan
źródło
Który dysk SSD znajduje się na komputerze Mac?
bmike
Jeśli napiszesz 1000 cykli na dysku 250 GB, oznacza to, że zapisałeś 250 TB danych. Nawet jeśli napiszesz 50 GB dziennie , zabicie go zajmie 13 lat.
Thomas Ayoub,
2
Na dysku SSD mam średnio 32 GB dziennie. Mam już 42 TB zapisów, a „poziom zużycia” wynosi tylko 88%, a całkowity zapis „99%” (cokolwiek to znaczy) według DriveDx. Mój dysk jest włączony przez ogółem 20 miesięcy. Nie mam absolutnie żadnych błędów ani złych sektorów.
zagadka314,
1
@ThomasAyoub 50 GB / dzień to piekielne niedocenienie dzięki zamianie! Host_Writes_MiB mojego dysku 120GiB SSD to 317296939 (to 2421 cykli ), a Wear_Leveling_Count to FAILING_NOW. Mój macbook nie ma prawie 13 lat, a raczej 4 lata.
Navin
2
@Navin dobrze, więc zgadzam się, że całkowicie się myliłem.
Thomas Ayoub,

Odpowiedzi:

7

Odczytaj następujące atrybuty SMART swojego dysku SSD za pomocą odpowiedniego narzędzia *:

241 - Łączna liczba zapisanych kart LBA: Łączna liczba 512-bajtowych sektorów zapisanych przez cały okres użytkowania urządzenia.

242 - Łączna liczba odczytanych kart LBA: Łączna liczba 512-bajtowych sektorów odczytanych przez cały okres eksploatacji urządzenia.

Drugi zestaw atrybutów to:

174 - Host_Reads_MiB
175 - Host_Writes_MiB

Ale nie wiem, czy wartości znalezione w drugim zestawie naprawdę mają sens (przynajmniej dla mnie z dyskiem SSD 120 GB jako częścią napędu Fusion), ponieważ na dysku SSD zapisywanych jest znacznie więcej danych niż na dysku HDD ma tylko 1/25 rozmiaru:

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

w porównaniu do 3 TB HDD (druga część napędu Fusion):

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

Po zainstalowaniu smartmontools następujące polecenia podają zapisane dane w GB, jeśli istnieje atrybut „242 Total_LBAs_Written”:

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

lub w TB:

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

Zamień „DiskIdentifier” na identyfikator znalezionego wewnętrznego dysku SSD diskutil list. Prawdopodobnie jest to dysk0.

Poniższe polecenie podaje zapisane dane w GB, jeśli istnieje atrybut „175 - Host_Writes_MiB” (zachowaj ostrożność wyniku):

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

Jak już wspomniano wcześniej, zamień „DiskIdentifier” na identyfikator wewnętrznego dysku SSD znalezionego za pomocą diskutil list. Prawdopodobnie jest to dysk0.

Powyższe polecenia smartctl nie działają bardzo niezawodnie (przynajmniej dla mnie).
Jeśli pojawi się błąd typu „Odczyt danych SMART nie powiódł się: Błąd niezdefiniowany: 0”, spróbuj smartctl -A /dev/disk0najpierw.
Jeśli pojawi się błąd typu „SMART wyłączony. Użyj opcji -s z argumentem„ on ”, aby go włączyć.”, Spróbuj smartctl -s on -A /dev/disk0
Następnie powtórz powyższe polecenia, aby odczytać i obliczyć dane zapisane na dysku.

* smartmontools

klanomath
źródło
OS X domyślnie nie włącza SMART na dyskach SSD? Czy włączenie tej opcji zapewni informacje o przeszłości?
grg
@grgarside Przed wysłaniem sprawdziłem mój dysk Fusion-SSD i włączono SMART. Nie można znaleźć tych atrybutów.
klanomath
Mój „APPLE SSD SM256E” (rMBP) pokazuje „Dostępne”, ale „Wyłączone” za pomocą smartctl.
grg
@grgarside Włącz to za pomocą smartctl -s on /dev/DiskIdentifier. Wtedy będziesz mógł uzyskać dane. Aby wyłączyć ponownie:smartctl -s off /dev/DiskIdentifier
klanomath
1
Możesz dodać, że smartctl można go łatwo zainstalować za pomocą homebrew lub portu i że istnieje nawet GUI .
n1000,
5

Oryginalny post wspomina, że ​​dyski SSD mają limit cyklu 1000-2000, co nadmiernie upraszcza problem. Poszczególne komórki na dysku SSD mogą mieć taki limit, ale dysk SSD implementuje wiele różnych rozwiązań: od nadmiernej obsługi administracyjnej i poziomowania zapisu do zastrzeżonego zestawu Sandforce technik usuwania duplikacji, kompresji i różnicowania danych, który nazywa „DuraWrite”.

Powrót do pierwotnego postu: techniki takie iostat, jakkolwiek istotne, pokazują łączną aktywność, ale bardzo ciężko jest pracować wstecz, aby wiedzieć, ile cykli programu / kasowania wykonano dla każdej komórki, a stamtąd, ile życia pozostało na dysku SSD.

Przydatnym zaleceniem może być unikanie zapełniania dysków SSD do około 20% ich pojemności i unikanie wdrażania używanych dysków SSD bez odpowiedniej kopii zapasowej.

Ars Technica ma kilka naprawdę przydatnych artykułów na temat działania dysków SSD. Najbardziej bezpośrednio użyteczne jest to, że: „ Dyski SSD klasy konsumenckiej naprawdę są naprawdę piekielnie długie ”. Aby uzyskać więcej informacji, patrz tutaj , w szczególności strona 5.

Charles Lindsay
źródło
4

Zainstalowałem GSmartControl z Homebrew ( brew install gsmartcontrol) i otrzymałem:

Zrzut ekranu GSmartControl OSX

Atrybut SMART nr. 173 (Kasowanie liczby lub Wyrównanie zużycia) powinno oznaczać, że zużyte zapisy w całym sektorze.

Mój MacBook 2015 odpowiedział na to pytanie (bez identyfikatora 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
źródło
-2

Bardzo szczegółowa odpowiedź została podana w tym pytaniu tutaj

Następujące polecenie

iostat -Id disk0

odzwierciedla statystyki przesyłania danych od momentu zamontowania urządzenia do momentu uruchomienia komendy iostat.

Chrisii
źródło
6
Chociaż zapewnia to użyteczne informacje, jak to się ma do „przez cały cykl życia dysku”?
grg
2
To zapisuje tylko sumę odczytu + zapisu MB od bootowania lub coś takiego. Zasadniczo te same statystyki, co w Monitorze aktywności na karcie Dysk.
Adam Hošek,