Eu tenho um problema onde meu Ubuntu (17.10 agora, mas está fazendo isso por vários lançamentos) congela quando escrevo no meu disco SSD, e eu preciso descobrir se é um problema de software ou se meu SSD está morrendo em mim. Estou executando o Ubuntu em um laptop Asus UX31E. Estou usando a criptografia de disco completo (configurada automaticamente usando o instalador).
Eu testei a velocidade de leitura assim:
$ 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
Parece-me um número decente, vamos tentar escrever para o disco:
$ 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
Uau, isso é muito lento. Não deve demorar tanto, apesar de ser uma partição criptografada (512 bit aes-xts-plain64), certo? Eu não posso fazer nada enquanto escrevo no disco, ele fica totalmente sem resposta. Eu não posso nem mover o ponteiro do mouse.
Estou usando o agendador de prazos:
$ cat /sys/block/sda/queue/scheduler
noop [deadline] cfq
Eu quero verificar se este é um problema de hardware, para que eu não desperdice dinheiro em um novo SSD. Como faço para determinar a causa raiz da falta de resposta?
saída 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 -
Eu também tentei forçar um autoteste (várias vezes) inicializando de um CD ao vivo e executando smartctl -t short -C /dev/sda
e aguardando significativamente mais do que o tempo especificado. No entanto, quando tentei ver o resultado, não consegui:
$ smartctl -a /dev/sda
[...]
A mandatory SMART command failed: exiting. To continue, add one or more '-T permissive' options*
[...]