为了查看 SSD 上的温度历史记录,我使用了该smartctl -l scttemphist
命令。输出表明它正在跳过大量条目。它为什么要这样做?我不认为这是因为它没有保存它们。
=== START OF READ SMART DATA SECTION ===
SCT Temperature History Version: 2
Temperature Sampling Period: 10 minutes
Temperature Logging Interval: 10 minutes
Min/Max recommended Temperature: ?/ ? Celsius
Min/Max Temperature Limit: ?/ ? Celsius
Temperature History Size (Index): 128 (0)
Index Estimated Time Temperature Celsius
1 2017-06-26 18:20 30 ***********
... ..( 3 skipped). .. ***********
5 2017-06-26 19:00 30 ***********
6 2017-06-26 19:10 31 ************
7 2017-06-26 19:20 30 ***********
... ..( 60 skipped). .. ***********
68 2017-06-27 05:30 30 ***********
69 2017-06-27 05:40 29 **********
70 2017-06-27 05:50 30 ***********
71 2017-06-27 06:00 30 ***********
72 2017-06-27 06:10 29 **********
73 2017-06-27 06:20 30 ***********
74 2017-06-27 06:30 30 ***********
75 2017-06-27 06:40 29 **********
76 2017-06-27 06:50 30 ***********
77 2017-06-27 07:00 30 ***********
78 2017-06-27 07:10 29 **********
79 2017-06-27 07:20 30 ***********
... ..( 2 skipped). .. ***********
82 2017-06-27 07:50 30 ***********
83 2017-06-27 08:00 31 ************
84 2017-06-27 08:10 30 ***********
... ..( 4 skipped). .. ***********
89 2017-06-27 09:00 30 ***********
90 2017-06-27 09:10 31 ************
91 2017-06-27 09:20 30 ***********
92 2017-06-27 09:30 31 ************
... ..( 35 skipped). .. ************
0 2017-06-27 15:30 31 ************
有没有办法smartctl
显示整个历史记录而不是隐藏某些条目?我在手册页中没有看到任何有关它的内容。
答案1
您可以下载源码或查看这里这smartctl
只是通过删除相同温度的组来优化输出。如果您想拥有所有值,请while{}
在第 2216 行删除此循环后重新编译(保留初始化行)。
// Find range of identical temperatures
unsigned n1 = n, n2 = n+1, i2 = (i+1) % tmh->cb_size;
while (n2 < tmh->cb_size && tmh->cb[i2] == tmh->cb[i]) {
n2++; i2 = (i2+1) % tmh->cb_size;
}