จะวัดการเขียนทั้งหมดที่ดำเนินการกับ SSD ใน Linux ได้อย่างไร


13

ฉันค้นหาอินเทอร์เน็ตเพื่อค้นหาเครื่องมือ / ยูทิลิตี้ที่สามารถบอกการเขียนทั้งหมดที่ดำเนินการกับ SSD (หรือดิสก์ปกติ) ผลลัพธ์ควรมีลักษณะดังนี้:

SSD Intel 320S :- 
Total data written until now -- 2Tb
Total data read until now -- 4Tb
power on Hours -- 1234 Hrs
etc.

แต่ฉันไม่พบ มีใครตระหนักถึงเครื่องมือดังกล่าวหรือไม่?

ฉันรู้ว่าเครื่องมือ SSDLife บน Windows ทำสิ่งนี้ แต่ฉันต้องการทำสิ่งนี้บน Linux โดยเฉพาะ


ฉันค้นหาsmartctlคำสั่งจากsmartmontoolsแนะนำโดย Selivanov โพสต์ของเขามีประโยชน์มาก ฉันจะเพิ่มข้อมูลเพิ่มเติมที่นี่ซึ่งฉันเจอหลังจากขุดอินเทอร์เน็ต

ฉันพบว่ารุ่นgsmartcontrol(gui ของsmartctrl) มีประโยชน์เป็นพิเศษ สำหรับข้อมูลเพิ่มเติมเกี่ยวกับชั้นเรียนเหล่านี้ของเครื่องมือตรวจสอบsmartmontools - เอกสารชุมชนอูบุนตู smartctlการเชื่อมโยงนี้มีตัวอย่างสำหรับ

เพื่อให้เข้าใจว่าแต่ละแอตทริบิวต์ SMART หมายถึงอะไรให้ตรวจสอบแอตทริบิวต์Intel SMARTนี้ คุณลักษณะเหล่านี้มีเฉพาะกับ Intel SSD แต่ยังคงให้แนวคิดว่าข้อมูลประเภทใดที่ SMART นำเสนอคุณสมบัติ พารามิเตอร์เฉพาะบางอย่างอาจแตกต่างกันระหว่าง SSD ที่ต่างกัน LBA เป็นขนาดเดียวหรือไม่ฉันไม่รู้

แหล่งข้อมูลที่ยอดเยี่ยมอีกแหล่งหนึ่งคือวิธีกำหนดจำนวนรอบการเขียนหรืออายุการใช้งานที่คาดหวังสำหรับ SSD ภายใต้ Linux - ความผิดพลาดของเซิร์ฟเวอร์ ที่นี่คำตอบที่ดีที่สุดแสดงถึงSMART Attribute Id 225ย่อมาจากขนาดการเขียน I / O ทั้งหมดที่มีขนาด 32MiB ที่ทำกับ SSD จนถึงปัจจุบัน อย่างไรก็ตามสิ่งนี้ใช้กับ Intel X25-M SSD อื่นอาจใช้คุณสมบัติ SMART อื่นเพื่อถ่ายทอดข้อมูลทั้งหมดที่เขียนลงดิสก์

โดยเฉพาะอย่างยิ่งสำหรับ Samsung 840 Pro (และอาจเป็นได้สำหรับ Samsung SSD อื่น ๆ ) แสดงSMART Attribute Id 241 -- Total LBAs Writtenข้อมูลนี้ ฉันเดาขนาด LBA คือ 512bytes แต่ฉันไม่แน่ใจ? การทดลองบางอย่างที่ฉันรันโดยเขียนจำนวนข้อมูลที่กำหนดไปยัง SSD และการวัดค่าของแอตทริบิวต์นี้ระบุว่าเป็น 512bytes


ATA-6 LBA 48 บิต (เปิดตัวในปี 2003) ช่วยให้สามารถระบุตำแหน่งดิสก์ได้สูงสุด 128 PiB ผ่านที่อยู่ LBA 48 บิต การคำนวณ128*2^50 / 2^48อัตราผลตอบแทน 512 บ่งชี้ว่าการกำหนดแอดเดรสระดับดิสก์เสร็จในหน่วยย่อยขนาด 512 ไบต์ (2 ^ 50/2 ^ 48 = 2 ^ (50-48) = 2 ^ 2, 128 * 2 ^ 2 = 512. )
CVn

2
การทำสำเนาที่เป็นไปได้ของการวัด 'จำนวนไบต์ทั้งหมดที่เขียน' ภายใต้ Linux
AjayKumarBasuthkar

คำตอบ:


9

ค่านี้จะถูกเก็บไว้ในแอตทริบิวต์SMART คุณแมวใช้smartctlคำสั่งจากsmartmontoolsเพื่อรับมัน

UPD smartctl -A /dev/sda | grep -i 'media_wearout_indicator' | tr -s ' ' | cut -d' ' -f4-5จะส่งออก VALUE, WORST และ THRESHOLD สำหรับ Media_Wearout_Indicator หมายเหตุ: สำหรับอุปกรณ์ของคุณแอททริบิวอาจมีชื่อและค่าเกณฑ์ที่แตกต่างกันหรืออาจไม่สามารถใช้ได้เลย ขึ้นอยู่กับผู้ขายอุปกรณ์


2
หากตัวเลขพร้อมใช้งานผ่าน SMART ฉันพบว่า SMART ได้รับความนิยมและพลาดไปเล็กน้อยและขึ้นอยู่กับอุปกรณ์ ตัวเลือกอื่น ๆ บน Linux คือการตรวจสอบและบันทึก/proc/diskstatsแต่เห็นได้ชัดว่าถูกรีเซ็ตในการรีบูต
mr.spuratic

คุณไม่สามารถพูดได้ว่าใช้ "smartctl" โดยไม่บอกให้เราโต้แย้ง!
Michael

@Michael อัปเดตคำตอบ
Selivanov Pavel

4

จะเฉพาะเจาะจงน้อยกว่าคนอื่น ๆ ที่คุณจะได้รับข้อมูลนี้จากsmartctlที่มี-l devstatargs

ตัวอย่างผลลัพธ์:

Device Statistics (GP Log 0x04)
Page Offset Size         Value  Description
  1  =====  =                =  == General Statistics (rev 1) ==
  1  0x008  4              288  Lifetime Power-On Resets
  1  0x018  6     348307315343  Logical Sectors Written
  1  0x020  6         34309409  Number of Write Commands
  1  0x028  6       3434309403  Logical Sectors Read
  1  0x030  6         34954859  Number of Read Commands
  4  =====  =                =  == General Errors Statistics (rev 1) ==
  4  0x008  4                0  Number of Reported Uncorrectable Errors
  4  0x010  4                0  Resets Between Cmd Acceptance and Completion
  5  =====  =                =  == Temperature Statistics (rev 1) ==
  5  0x008  1               13  Current Temperature
  5  0x010  1               16  Average Short Term Temperature
  5  0x018  1               25  Average Long Term Temperature
  5  0x020  1               34  Highest Temperature
  5  0x028  1               12  Lowest Temperature
  5  0x030  1               35  Highest Average Short Term Temperature
  5  0x038  1               16  Lowest Average Short Term Temperature
  5  0x040  1               26  Highest Average Long Term Temperature
  5  0x048  1               21  Lowest Average Long Term Temperature
  5  0x050  4                0  Time in Over-Temperature
  5  0x058  1               55  Specified Maximum Operating Temperature
  5  0x060  4                0  Time in Under-Temperature
  5  0x068  1                0  Specified Minimum Operating Temperature
  6  =====  =                =  == Transport Statistics (rev 1) ==
  6  0x008  4           224211  Number of Hardware Resets
  6  0x010  4              463  Number of ASR Events
  6  0x018  4                0  Number of Interface CRC Errors
  7  =====  =                =  == Solid State Device Statistics (rev 1) ==
  7  0x008  1                3  Percentage Used Endurance Indicator

นี่บอกฉันว่า 855GB ถูกเขียนไปยัง 256GB SSD ที่ไม่เคยมีมากกว่า 15% เต็ม ... ในขณะที่ฉันคิดว่ามันเป็นไปได้ดูเหมือนว่า ... มากเกินไปหรือไม่
Michael

@Michael Easy: แคชเบราว์เซอร์; หรืออาจเป็นผู้ขายที่กำลังทำการทดสอบบนอุปกรณ์ที่ผลิตขึ้นใหม่
Selivanov Pavel

3

คุณอาจลอง

# smartctl -a /dev/sda

smartctl -a /dev/sda
smartctl 5.41 2011-06-09 r3365 [x86_64-linux-3.2.0-49-generic] (local build)
Copyright (C) 2002-11 by Bruce Allen, http://smartmontools.sourceforge.net

=== START OF INFORMATION SECTION ===
Device Model: INTEL SSDSC2CW180A3
Serial Number: CVCV204408A6180EGN
LU WWN Device Id: 5 001517 bb2824682
Firmware Version: 400i
User Capacity: 180,045,766,656 bytes [180 GB]
Sector Size: 512 bytes logical/physical
Device is: Not in smartctl database [for details use: -P showall]
ATA Version is: 8
ATA Standard is: ACS-2 revision 3
Local Time is: Thu Jul 11 00:55:16 2013 PDT
SMART support is: Available – device has SMART capability.
SMART support is: Enabled

=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED

General SMART Values:
Offline data collection status: (0×00) Offline data collection activity
was never started.
Auto Offline Data Collection: Disabled.
Self-test execution status: ( 0) The previous self-test routine completed
without error or no self-test has ever
been run.
Total time to complete Offline
data collection: ( 2097) seconds.
Offline data collection
capabilities: (0x7f) SMART execute Offline immediate.
Auto Offline data collection on/off support.
Abort Offline collection upon new
command.
Offline surface scan supported.
Self-test supported.
Conveyance Self-test supported.
Selective Self-test supported.
SMART capabilities: (0×0003) Saves SMART data before entering
power-saving mode.
Supports SMART auto save timer.
Error logging capability: (0×01) Error logging supported.
General Purpose Logging supported.
Short self-test routine
recommended polling time: ( 1) minutes.
Extended self-test routine
recommended polling time: ( 48) minutes.
Conveyance self-test routine
recommended polling time: ( 2) minutes.
SCT capabilities: (0×0021) SCT Status supported.
SCT Data Table supported.

SMART Attributes Data Structure revision number: 10
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
5 Reallocated_Sector_Ct 0×0032 100 100 000 Old_age Always – 0
9 Power_On_Hours 0×0032 000 000 000 Old_age Always – 46385647693103
12 Power_Cycle_Count 0×0032 100 100 000 Old_age Always – 279
170 Unknown_Attribute 0×0033 100 100 010 Pre-fail Always – 0
171 Unknown_Attribute 0×0032 100 100 000 Old_age Always – 0
172 Unknown_Attribute 0×0032 100 100 000 Old_age Always – 0
174 Unknown_Attribute 0×0032 100 100 000 Old_age Always – 278
184 End-to-End_Error 0×0033 100 100 090 Pre-fail Always – 0
187 Reported_Uncorrect 0×0032 100 100 000 Old_age Always – 0
192 Power-Off_Retract_Count 0×0032 100 100 000 Old_age Always – 278
225 Load_Cycle_Count 0×0032 100 100 000 Old_age Always – 10754
226 Load-in_Time 0×0032 100 100 000 Old_age Always – 65535
227 Torq-amp_Count 0×0032 100 100 000 Old_age Always – 66
228 Power-off_Retract_Count 0×0032 100 100 000 Old_age Always – 65535
232 Available_Reservd_Space 0×0033 100 100 010 Pre-fail Always – 0
233 Media_Wearout_Indicator 0×0032 100 100 000 Old_age Always – 0
241 Total_LBAs_Written 0×0032 100 100 000 Old_age Always – 10754
242 Total_LBAs_Read 0×0032 100 100 000 Old_age Always – 21803
249 Unknown_Attribute 0×0013 100 100 000 Pre-fail Always – 357

SMART Error Log not supported
SMART Self-test Log not supported
Note: selective self-test log revision number (0) not 1 implies that no selective self-test has ever been run
SMART Selective self-test log data structure revision number 0
Note: revision number not 1 implies that no selective self-test has ever been run
SPAN MIN_LBA MAX_LBA CURRENT_TEST_STATUS
1 0 0 Not_testing
2 0 0 Not_testing
3 0 0 Not_testing
4 0 0 Not_testing
5 0 0 Not_testing
Selective self-test flags (0×0):
After scanning selected spans, do NOT read-scan remainder of disk.
If Selective self-test is pending on power-up, resume after 0 minute delay.

http://namhuy.net/1024/how-to-check-ssd-life-left.html


บรรทัดผลลัพธ์ใดในตัวอย่างของคุณให้ TBW
Michael
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.