Escrever arquivos grandes no meu SSD principal parece ser lento e estou tentando encontrar o motivo.
Mainboard é um ASUS Maximus VIII Hero e eu tenho dois SSDs conectados:
- Samsung SSD 840 EVO 120 GB - > sda
- Samsung SSD 840 EVO 500 GB - > sdb
Aqui está o fdisk -l output
Disk /dev/sda: 111.8 GiB, 120034123776 bytes, 234441648 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: A3DB9022-5AE0-4BF4-BCA0-E0DAF7BB2106
Device Start End Sectors Size Type
/dev/sda1 2048 1050623 1048576 512M EFI System
/dev/sda2 1050624 167569407 166518784 79.4G Linux filesystem
/dev/sda3 167569408 234440703 66871296 31.9G Linux swap
Disk /dev/sdb: 465.8 GiB, 500107862016 bytes, 976773168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Portanto, o disco de 120 GB é o meu sistema e o de 500 GB é um disco secundário.
Se eu escrever para os SSDs com dd, recebo os seguintes resultados:
sda:
~$ dd if=/dev/zero of=/tmp/dd_performance bs=1G count=1 oflag=direct
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 2.1183 s, 507 MB/s
~$ dd if=/dev/zero of=/tmp/dd_performance bs=1G count=10 oflag=direct
10737418240 bytes (11 GB, 10 GiB) copied, 296.29 s, 36.2 MB/s
sdb:
~$ dd if=/dev/zero of=/mnt/temp_data/dd_performance bs=1G count=1 oflag=direct
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 2.13052 s, 504 MB/s
~$ dd if=/dev/zero of=/mnt/temp_data/dd_performance bs=1G count=10 oflag=direct
10737418240 bytes (11 GB, 10 GiB) copied, 21.1424 s, 508 MB/s
Portanto, para um ficheiro de 1 GB, obtenho resultados muito semelhantes. Mas escrever um arquivo de 10GB para o sda fica dolorosamente lento.
Eu encontrei perguntas semelhantes mas achei que o oflag = direct deve pular todos os caches e escrever diretamente.
Durante a execução, eu tinha 25 GB de memória livre.
A única explicação que eu tenho é que o sda tem muito mais arquivos (disco do sistema) e o SSD provavelmente tem mais trabalho a fazer para encaixar um arquivo de 10GB nele do que no sdb.
Esse comportamento é normal? Existe um teste melhor que eu possa executar?