Медленная запись на жесткий диск, программная или аппаратная проблема?
У меня есть проблема, когда моя Ubuntu (17.10 прямо сейчас, но она делает это в течение нескольких выпусков) зависает, когда я пишу на свой SSD-диск, и мне нужно выяснить, является ли это программной проблемой или мой SSD умирает от меня. Я использую Ubuntu на ноутбуке Asus UX31E. Я использую полное шифрование диска (настраивается автоматически с помощью установщика).
Я проверил скорость чтения следующим образом:
$ sudo hdparm -Tt /dev/mapper/sda5_crypt
/dev/mapper/sda5_crypt:
Timing cached reads: 9228 MB in 2.00 seconds = 4618.04 MB/sec
Timing buffered disk reads: 1190 MB in 3.00 seconds = 396.46 MB/sec
Это выглядит как приличные цифры для меня, давайте попробуем записать на диск:
$ LC_ALL=C dd if=/dev/zero of=~/out.bin bs=100M count=1
1+0 records in
1+0 records out
104857600 bytes (105 MB, 100 MiB) copied, 16.882 s, 6.2 MB/s
Вау, это действительно медленно. Это не должно занять много времени, несмотря на то, что это зашифрованный (512 бит aes-xts-plain64) раздел, верно? Пока я пишу на диск, я ничего не могу сделать, он перестает отвечать на запросы. Я даже не могу переместить указатель мыши.
Я использую планировщик крайнего срока:
$ cat /sys/block/sda/queue/scheduler
noop [deadline] cfq
Я хочу убедиться, что это аппаратная проблема, чтобы не тратить деньги на новый SSD. Как определить основную причину невосприимчивости?
EDIT1:
вывод smartctl:
[...]
SMART Attributes Data Structure revision number: 1
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
5 Reallocated_Sector_Ct 0x0002 100 100 000 Old_age Always - 0
9 Power_On_Hours 0x0002 100 100 000 Old_age Always - 6160
12 Power_Cycle_Count 0x0002 100 100 000 Old_age Always - 4420
171 Program_Fail_Count 0x0002 100 100 000 Old_age Always - 0
172 Erase_Fail_Count 0x0002 100 100 000 Old_age Always - 0
173 Avg_Write/Erase_Count 0x0002 100 100 000 Old_age Always - 84
174 Unexpect_Power_Loss_Ct 0x0002 100 100 000 Old_age Always - 4379
187 Reported_Uncorrect 0x0002 100 100 000 Old_age Always - 0
230 Perc_Write/Erase_Count 0x0002 100 100 000 Old_age Always - 280
232 Perc_Avail_Resrvd_Space 0x0003 100 100 005 Pre-fail Always - 0
234 Perc_Write/Erase_Ct_BC 0x0002 100 100 000 Old_age Always - 436
241 Total_LBAs_Written 0x0002 100 100 000 Old_age Always - 10526182882
242 Total_LBAs_Read 0x0002 100 100 000 Old_age Always - 9359492632
[...]
Warning! SMART Self-Test Log Structure error: invalid SMART checksum.
SMART Self-test log structure revision number 1
Num Test_Description Status Remaining LifeTime(hours) LBA_of_first_error
# 1 Short offline Interrupted (host reset) 70% 64397 -
# 2 Short offline Interrupted (host reset) 50% 18010 -
# 3 Short offline Interrupted (host reset) 70% 31469 -
# 4 Short offline Interrupted (host reset) 60% 26654 -
# 5 Short offline Interrupted (host reset) 70% 10910 -
# 6 Short offline Interrupted (host reset) 70% 58379 -
Я также попытался принудительно выполнить самопроверку (несколько раз), загрузившись с live CD и запустив smartctl -t short -C /dev/sda
и ожидание значительно дольше указанного времени. Однако, когда я попытался просмотреть результат, я не смог:
$ smartctl -a /dev/sda
[...]
A mandatory SMART command failed: exiting. To continue, add one or more '-T permissive' options*
[...]