Linux
在 Linux 下測量“寫入的總字節數”
我們對探索在伺服器環境中使用 SSD 驅動器的可能性非常感興趣。但是,我們需要確定的一件事是預期驅動壽命。根據這篇文章,製造商正在以“寫入的總字節數”(TBW) 的形式報告驅動器的耐用性。例如,在那篇文章中,Crucial C400 SSD 的額定容量為 72TB TBW。Linux 生態系統下是否存在任何腳本/工具來幫助我們測量 TBW?(然後對使用 SSD 驅動器的可行性做出更有根據的決定)
另一種可能性是查看/proc/diskstats。它不會在重新啟動後持續存在,但它具有每個塊設備的數據。您可能最感興趣的是欄位 10,它包含寫入的扇區總數。在具有扇區大小為 512 字節的 scsi 磁碟的系統上,您可以執行
awk '/sd/ {print $3"\t"$10 / 2 / 1024}' /proc/diskstats
查看每個設備寫入了多少兆字節。輸出看起來像
sda 728.759
sda1 79.0908
sda2 649.668
我在筆記本上遇到了同樣的問題,但是當我幾乎每天都重新啟動它時,接受的答案沒有幫助。我有一個三星 mSATA SSD,它恰好有 SMART 屬性 #241 Total_LBA_Written。根據官方文件,
要計算總大小(以字節為單位),請將此屬性的原始值乘以 512B。
所以下面的命令給了我寫在我的 SSD 磁碟 (sdb) 上的總 TB
sudo smartctl -A /dev/sdb | awk '/^241/ { print "TBW: "($10 * 512) * 1.0e-12, "TB" } '
由於它也適用於我的硬碟,我認為它應該適用於幾乎所有現代硬碟。