Проверьте записи SSD в некоторый период

Я хотел бы установить Ubuntu на SSD (я знаю, что должен установить ОБРЕЗКУ, noatime, и т.д.), Но я хотел бы знать, могу ли я проверить, сколько ГБ был записан в прошлый день / неделя / месяц.

Поскольку я хотел бы иметь размеры, сколько ГБ пишется каждый день на SSD, если папки,/var и/tmp, были на SSD. Если были бы записи меньше чем на 10 ГБ в день, я думаю, что это прохладно, и это не повредит SSD очень.

И не я не хочу использовать электронный диск :)

1
задан 5 March 2017 в 00:34

1 ответ

Как это часто происходит, я перешел вперед для изобретения велосипед, это уже существует в smartmontools пакет. Этот пакет обеспечивает всех из инструментов диагностики для жестких дисков и SSD (или в большем количестве технических терминов, устройств SCSI). В частности, smartctl команда - то, что мы ищем:

$ sudo smartctl -A /dev/sda
[sudo] password for xieerqi: 
smartctl 6.5 2016-01-24 r4214 [x86_64-linux-4.4.0-65-generic] (local build)
Copyright (C) 2002-16, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF READ SMART DATA SECTION ===
SMART Attributes Data Structure revision number: 18
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  5 Runtime_Bad_Block       0x0000   000   000   000    Old_age   Offline      -       0
  9 Power_On_Hours          0x0000   100   100   000    Old_age   Offline      -       8080
 12 Power_Cycle_Count       0x0000   100   100   000    Old_age   Offline      -       1419
171 Avail_OP_Block_Count    0x0000   100   100   000    Old_age   Offline      -       40907856
174 Pwr_Cycle_Ct_Unplanned  0x0000   100   100   000    Old_age   Offline      -       78
195 Total_Prog_Failures     0x0000   100   100   000    Old_age   Offline      -       0
196 Total_Erase_Failures    0x0000   100   100   000    Old_age   Offline      -       0
197 Total_Unc_Read_Failures 0x0000   100   100   000    Old_age   Offline      -       0
208 Average_Erase_Count     0x0000   100   100   000    Old_age   Offline      -       179
210 SATA_CRC_Error_Count    0x0000   100   100   000    Old_age   Offline      -       0
224 In_Warranty             0x0000   100   100   000    Old_age   Offline      -       1
233 Remaining_Lifetime_Perc 0x0000   095   095   000    Old_age   Offline      -       95
241 Host_Writes_GiB         0x0000   100   100   000    Old_age   Offline      -       3133
242 Host_Reads_GiB          0x0000   100   100   000    Old_age   Offline      -       2745
249 Total_NAND_Prog_Ct_GiB  0x0000   100   100   000    Old_age   Offline      -       301548705

То, что Вы видите выше, является списком атрибутов для моего SSD. Особенно интересный атрибут 241 (Host_Writes_GiB) и 242 (Host_Reads_GiB). Эти значения находятся в гибибайте (который является классической единицей измерения в информатике в полномочиях 1 024 байтов, в этом случае 1024^3, вместо единиц СИ полномочий 10).

На низком уровне, насколько я понимаю, эта утилита фактические синтаксические анализы lifetime_write_kbytes файл в /sys/fs папка. Особенно, в моем примере:

$ cat /sys/fs/ext4/sda1/lifetime_write_kbytes              
4793857835

Конечно, это - утилита командной строки. Если у Вас нет установленным (проверьте через apt-cache policy smartmontools) затем установите его через sudo apt-get install smartmontools. Существует Дисковая Утилита Gnome как альтернатива GUI, и она идет с Ubuntu.

Однако существуют протесты пары:

  • УМНАЯ информация должна быть предоставлена устройством. Если бы устройство является довольно дешевым и не имеет такой информации, то это потребовало бы изобретения велосипед точно так же, как я первоначально хотел сделать через контроль /proc/diskstats файл.
  • Определенные атрибуты должны быть обеспечены устройством. Например, информация о tnfd22 ssd, найденном на smartmontools веб-сайте, не предоставляет такую информацию.

Существует также определенная проблема: получающейся показанной информацией является общая история чтений/записей. Таким образом Вы не можете извлечь чтения/записи в последнем x количестве дней. По крайней мере, это не возможно с smartctl или ни один из инструментов я нашел к настоящему времени. Однако то, что можно сделать, является расписанием ежедневная газета cron задача, которая будет читать /sys/fs/ext4/sda1/lifetime_write_kbytes и добавьте данные с меткой времени в файл. Позже, можно ли вычесть различия для наблюдения, сколько было записано в каждый день. Например, контент такой команды был бы:

30 08 * * * bash -c '{ date; cat /sys/fs/ext4/sda1/lifetime_write_kbytes; echo ;} >> /home/user/my_disk_log.txt'
2
ответ дан 7 December 2019 в 13:36

Другие вопросы по тегам:

Похожие вопросы: