Desempenho muito baixo do NVME

6

Instalei o Windows pela primeira vez e executei uma avaliação de desempenho no samsung 950 Pro e vi 2700 MBps de velocidade de leitura. Eu fiz isso para confirmar que a placa-mãe poderia usar as pistas x4 completas com o NVME no dispositivo de inicialização.

No Ubuntu, estou vendo velocidades de gravação de 170-200MBps.

Distributor ID: Ubuntu
Description:    Ubuntu 16.04.1 LTS
Release:    16.04
Codename:   xenial

Eu então fiz uma instalação limpa do Ubuntu, e executei um teste usando esta técnica . Aqui está o resultado:

$ sudo hdparm -Tt /dev/nvme0n1

/dev/nvme0n1:
 Timing cached reads:   23880 MB in  2.00 seconds = 11951.14 MB/sec
 Timing buffered disk reads: 5194 MB in  3.00 seconds = 1731.18 MB/sec

Aqui está o lspci:

$ lspci -vv -s 02:00.0
02:00.0 Non-Volatile memory controller: Samsung Electronics Co Ltd NVMe SSD Controller (rev 01) (prog-if 02 [NVM Express])
    Subsystem: Samsung Electronics Co Ltd NVMe SSD Controller
    Physical Slot: 2-1
    Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B- DisINTx+
    Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
    Latency: 0, Cache Line Size: 32 bytes
    Interrupt: pin A routed to IRQ 39
    Region 0: Memory at fb210000 (64-bit, non-prefetchable) [size=16K]
    Region 2: I/O ports at e000 [size=256]
    Expansion ROM at fb200000 [disabled] [size=64K]
    Capabilities: <access denied>
    Kernel driver in use: nvme
    Kernel modules: nvme

Eu fiz algumas pesquisas e encontrei uma questão relacionada aqui sem respostas. Outro post, aqui , tem problemas semelhantes, mas não tem solução.

Alguma dica sobre solução de problemas?

Obrigado!

Editar: para esclarecer, as velocidades de gravação nas janelas também estavam em alta, bem acima de 1500MBps

    
por tbenst 24.08.2016 / 05:02

1 resposta

2

Hmmm os números que você fornece aqui são bem maiores que 170-200MB / s. No entanto, eles estão errados.

Para ignorar o cache de páginas, fazendo com que as leituras passem diretamente da unidade para os buffers do hdparm (ex. E / S "cru"), você precisa usar o parâmetro --direct no hdparm. Isso é:

$ sudo hdparm -Tt --direct /dev/nvme0n1

Dessa forma, seus resultados serão menores, mas fecham o desempenho do disco real.

    
por jsalatas 17.11.2016 / 01:39