SCT 온도 기록 출력에 "건너뛴" 온도 항목이 있는 이유는 무엇입니까?

SCT 온도 기록 출력에 "건너뛴" 온도 항목이 있는 이유는 무엇입니까?

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;
}

관련 정보