如何测量 Linux 中对 SSD 执行的总写入量?

And*_* Or 13 linux ubuntu ssd

我在互联网上搜索了一个工具/实用程序,它可以告诉我对 SSD(或普通磁盘)执行的总写入量。输出应如下所示:

SSD Intel 320S :- 
Total data written until now -- 2Tb
Total data read until now -- 4Tb
power on Hours -- 1234 Hrs
etc.
Run Code Online (Sandbox Code Playgroud)

但是我没有找到。有人知道这样的工具吗?

我知道 Windows 上的 SSDLife 工具可以做到这一点,但我特别希望在 Linux 上做到这一点。


我查找了Selivanov 建议的smartctl命令smartmontools。他的帖子非常有帮助。我将在这里添加更多信息,这些信息是我在网上搜索后发现的。

我发现gsmartcontrol(gui 版本smartctrl)特别有用。有关这些工具类的更多信息,请查看Smartmontools - 社区 Ubuntu 文档。此链接包含smartctl.

要了解每个 SMART 属性的含义,请查看此英特尔 SMART 属性。这些属性特定于英特尔 SSD,但仍然提供了一个想法,即 SMART 属性传达的信息类型。某些特定参数在不同 SSD 之间可能会有所不同。LBA 尺码是其中之一吗?我不知道。

另一个很好的信息来源是如何确定 Linux 下 SSD 的写入周期数或预期寿命?- 服务器故障。此处,最佳答案显示了SMART Attribute Id 225迄今为止对 SSD 执行的 32MiB 大小的总写入 I/O的代表。但是,这适用于英特尔 X25-M。其他 SSD 可能使用其他 SMART 属性来传送写入磁盘的总数据。

特别是,对于三星 840 Pro(甚至可能适用于其他三星 SSD?)SMART Attribute Id 241 -- Total LBAs Written传达了此信息。我对 LBA 大小的猜测是 512 字节,但我不确定?我通过将一定数量的数据写入 SSD 并测量该属性的值来运行一些实验,表明它是 512 字节。

Sel*_*vel 9

此值保存在SMART属性中。您可以使用smartmontools 中的smartctl命令来获取它们。

UPD smartctl -A /dev/sda | grep -i 'media_wearout_indicator' | tr -s ' ' | cut -d' ' -f4-5将为 Media_Wearout_Indicator 输出 VALUE、WORST 和 THRESHOLD。注意:对于您的设备,该属性可能具有不同的名称和阈值,或者可能根本不可用。取决于设备供应商。

  • *如果*数字可通过 SMART 获得,我发现 SMART 有点碰巧,这取决于设备。Linux 上的另一个选项是监视和记录 `/proc/diskstats`,尽管很明显它会在重新启动时重置。 (2认同)

小智 6

为了比其他信息更具体,您可以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
Run Code Online (Sandbox Code Playgroud)

  • @Michael Easy:浏览器缓存;或者可能是供应商正在新制造的设备上运行测试。 (2认同)