我在互联网上搜索了一个工具/实用程序,它可以告诉我对 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 字节。
此值保存在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。注意:对于您的设备,该属性可能具有不同的名称和阈值,或者可能根本不可用。取决于设备供应商。
小智 6
为了比其他信息更具体,您可以smartctl
通过-l devstat
args 获取此信息。
示例输出:
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)