답변:
또 다른 가능성은 / proc / diskstats를 보는 것 입니다. 재부팅 동안 지속되지는 않지만 모든 블록 장치에 대한 데이터가 있습니다. 아마도 여러분에게 가장 흥미로운 것은 필드 10이며 여기에는 기록 된 총 섹터 수가 포함됩니다. 섹터 크기가 512 바이트 인 scsi 디스크가있는 시스템에서 다음을 실행할 수 있습니다.
awk '/sd/ {print $3"\t"$10 / 2 / 1024}' /proc/diskstats
각 장치에 몇 메가 바이트가 기록되었는지 확인하십시오. 출력은 다음과 같습니다
sda 728.759
sda1 79.0908
sda2 649.668
hw_sector_size
(다른 적어도 2.4 시리즈 이후). 참조 block/cfq-iosched.c
특히, cfqg_stats_update_dispatch()
.
노트북에서 같은 문제로 고심하고 있었지만 매일 거의 재부팅하면 허용되는 답변이 도움이되지 않았습니다. SMART 속성 # 241 Total_LBAs_Written이 발생하는 Samsung mSATA SSD가 있습니다. 에 따르면 공식 문서 ,
총 크기 (바이트)를 계산하려면이 속성의 원시 값에 512B를 곱하십시오.
따라서 다음 명령은 SSD 디스크 (sdb)에 기록 된 총 TB를 제공합니다
sudo smartctl -A /dev/sdb | awk '/^241/ { print "TBW: "($10 * 512) * 1.0e-12, "TB" } '
HDD에서도 작동하므로 거의 모든 최신 하드 디스크에서 작동해야한다고 가정합니다.
sudo smartctl -A /dev/sda1 | awk '/^241/ { print "TBW: "($10 * 512) * 1.0e-12, "TB" }'
.
Host_Writes_32MiB
합니다. 또한 속성 249가 NAND_Writes_1GiB
있습니다. 따라서 각 SSD마다 다른 것으로 보입니다 (예 : mSATA 인텔 SSD에는 해당 속성이 없음)
Total_LBAs_Written
에서 GB로 지정됩니다! 낮은 4714
스마트가 보여주는 것을 이해할 수 없었습니다 . 그러나 Windows의 Intel SSD Toolbox를 보면 GB로 표시되었습니다.
/ sys / fs / ext4 / $ DEVICE / lifetime_write_kbytes에서 ext4 파일 시스템에 기록 된 데이터 양을 확인할 수 있습니다.
내 KINGSTON SEDC400S37480G의 경우 Ubuntu Server 14.04에서 다음 스크립트를 사용하여 TBW를 모니터링합니다. 매일 한 번씩 cron에서 실행합니다. 스크립트가 로그 파일로 출력됩니다.
작동하려면 calc가 필요합니다. 다음을 사용하여 calc를 설치하십시오.
apt-get install apcalc
스크립트 내용 :
echo "*** $(date -R) ***" >> /scripts/tbw/log.txt
tbw=$(cat /sys/fs/ext4/sda1/lifetime_write_kbytes)
TB=1000000000
echo TB written to sda1: >> /scripts/tbw/log.txt | calc $tbw / $TB >> /scripts/tbw/log.txt
출력합니다 :
*** Thu, 20 Jul 2017 03:02:51 +0300 ***
TB written to sda1:
3.062138442