Berapa banyak data yang telah ditulis ke SSD saya selama masa pakainya?

15

Apakah ada perintah Terminal yang akan menunjukkan kepada saya berapa banyak GB yang telah ditulis ke SSD saya sepanjang masa pakai disk? Saya bertanya karena saya ingin mengetahui berapa banyak siklus yang telah dilakukan. SSD dapat melakukan sekitar 1000-2000 siklus tergantung pada jenisnya.

Lachtan
sumber
SSD mana yang ada di Mac Anda?
bmike
Jika Anda menulis 1000 cycle pada drive 250GB, itu berarti Anda telah menulis data 250TB. Bahkan jika Anda menulis 50GB setiap hari akan membutuhkan waktu 13 tahun untuk membunuhnya.
Thomas Ayoub
2
Saya sebenarnya rata-rata 32 GB per hari di SSD saya. Saya memiliki 42 TB penulisan sudah masuk dan "tingkat pakai" hanya 88% dan total menulis "99%" (apa pun artinya) menurut DriveDx. Drive saya telah dinyalakan selama total 20 bulan. Saya sama sekali tidak memiliki kesalahan atau bad sector.
zagadka314
1
@ThomasAyoub 50GB / hari benar-benar remeh berkat swap! Host_Writes_MiB SSD 120GiB SSD saya adalah 317296939 (Itu adalah 2421 siklus ) dan Wear_Leveling_Count adalah FAILING_NOW. Macbook saya hampir 13 tahun, lebih seperti 4 tahun.
Navin
2
@Navin baik kalau begitu, saya setuju saya benar-benar salah.
Thomas Ayoub

Jawaban:

7

Bacalah atribut SMART berikut dari SSD Anda dengan alat yang sesuai *:

241 - Total LBA Ditulis: Jumlah sektor 512-byte yang ditulis selama masa pakai perangkat.

242 - Total Pembacaan BBA: Jumlah total sektor 512-byte yang dibaca selama masa pakai perangkat.

Set atribut kedua adalah:

174 - Host_Reads_MiB
175 - Host_Writes_MiB

Tetapi saya tidak tahu apakah nilai-nilai yang ditemukan pada set kedua benar-benar masuk akal (setidaknya bagi saya dengan 120 GB SSD sebagai salah satu bagian dari drive Fusion) karena jauh lebih banyak data ditulis ke SSD daripada HDD melalui SSD. hanya berukuran 1/25:

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

dibandingkan dengan HDD 3 TB (bagian kedua dari drive Fusion):

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

Setelah menginstal smartmontools, perintah berikut memberikan data tertulis dalam GB jika atribut "242 Total_LBAs_Written" ada:

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

atau dalam TB:

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

Ganti "DiskIdentifier" dengan pengenal SSD internal Anda diskutil list. Mungkin disk0.

Perintah berikut memberikan data tertulis dalam GB jika atribut "175 - Host_Writes_MiB" ada (perlakukan hasilnya dengan hati-hati):

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

Seperti yang telah disebutkan sebelumnya, ganti "DiskIdentifier" dengan pengenal SSD internal Anda diskutil list. Mungkin disk0.

Perintah smartctl di atas tidak berfungsi dengan sangat andal (setidaknya untuk saya).
Jika Anda mendapatkan kesalahan seperti "Baca SMART Data gagal: Kesalahan tidak terdefinisi: 0", coba smartctl -A /dev/disk0dulu.
Jika Anda mendapatkan kesalahan seperti "SMART Disabled. Gunakan opsi -s dengan argumen 'on' untuk mengaktifkannya.", Coba smartctl -s on -A /dev/disk0
Kemudian coba lagi perintah di atas untuk membaca dan menghitung data yang ditulis ke disk.

* smartmontools

klanomath
sumber
OS X tidak mengaktifkan SMART dalam SSD secara default? Apakah mengaktifkannya akan memberikan informasi riwayat masa lalu?
GRG
@ grgarside Sebelum memposting, saya memeriksa Fusion-SSD dan SMART diaktifkan. Tidak dapat menemukan atribut itu.
klanomath
"APPLE SSD SM256E" (rMBP) saya menunjukkan "Tersedia" tetapi "Dinonaktifkan" dengan smartctl.
GRG
@ grgarside Aktifkan dengan smartctl -s on /dev/DiskIdentifier. Maka Anda akan bisa mendapatkan data. Untuk menonaktifkannya lagi:smartctl -s off /dev/DiskIdentifier
klanomath
1
Anda mungkin ingin menambahkan yang smartctl dapat dengan mudah diinstal menggunakan homebrew atau port dan bahkan ada GUI untuk itu.
n1000
5

Posting asli menyebutkan bahwa SSD memiliki batas siklus 1000-2000, yang terlalu menyederhanakan masalah. Masing-masing sel dalam SSD mungkin memiliki batas seperti itu, tetapi SSD mengimplementasikan banyak solusi yang berbeda: mulai dari penyediaan berlebih dan penulisan level hingga koleksi de-duplikasi, kompresi, dan teknik pembedaan data milik Sandforce, yang disebutnya "DuraWrite".

Kembali ke posting asli: teknik seperti iostat, meskipun relevan, menunjukkan aktivitas agregat tetapi sangat sulit untuk bekerja mundur untuk mengetahui berapa banyak siklus program / penghapusan dilakukan untuk setiap sel, dan dari sana, berapa banyak sisa hidup pada SSD.

Rekomendasi yang bermanfaat adalah menghindari pengisian SSD hingga 20% dari kapasitas yang disebutkan, dan untuk menghindari penggunaan SSD bekas tanpa cadangan yang memadai.

Ars Technica memiliki beberapa artikel yang sangat berguna tentang cara kerja SSD. Yang paling bermanfaat secara langsung adalah ini: " SSD tingkat konsumen sebenarnya bertahan lama sekali ". Untuk lebih jelasnya, lihat sini , khususnya halaman 5.

Charles Lindsay
sumber
4

Saya memasang GSmartControl dengan Homebrew (brew install gsmartcontrol ), dan mendapatkan ini:

Tangkapan layar GSmartControl OSX

Atribut SMART no. 173 (Penghapusan Penghapusan, atau Level Wear) harus berarti menulis sektor keseluruhan habis.

My MacBook 2015 menjawab ini (tanpa ID 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
sumber
-2

Jawaban yang sangat terperinci telah diberikan dalam pertanyaan ini sini

Perintah berikut

iostat -Id disk0

mencerminkan statistik transfer data dari saat perangkat dipasang ke saat perintah iostat dijalankan.

Chrisii
sumber
6
Sementara ini memberikan informasi yang bermanfaat, bagaimana ini berlaku untuk 'sepanjang masa pakai disk'?
GRG
2
Ini hanya menulis jumlah read + write MB sejak boot atau apalah. Secara umum statistik yang sama seperti di Monitor Aktivitas, tab Disk.
Adam Hošek