Solução da comunidade

ZimaOS USB3 lento: Verifique primeiro UAS vs usb-storage

A Dell Wyse user saw ~13MB/s on ZimaOS but ~64MB/s on CachyOS; both linked at 5Gbps, while ZimaOS used usb-storage and CachyOS used UAS.

O antigo relato de desempenho USB não se devia simplesmente a um problema de «ligação USB2»: o ZimaOS negociou 5 Gbps, mas a caixa externa JMicron JMS566 utilizava o antigo driver usb-storage, enquanto o CachyOS utilizava uas. Esta diferença entre drivers é uma explicação muito mais provável para a diferença entre 13 MB/s e cerca de 64 MB/s do que a velocidade física da ligação USB, por si só.

A conversa terminou antes de a IceWhale publicar uma correção, por isso os utilizadores atuais devem voltar a testar no ZimaOS 1.7.1 antes de presumirem que se mantém o mesmo comportamento da bridge/do driver. Preserve os dados exatos do controlador, do sistema de ficheiros e do driver ao comparar sistemas.

Árvore lsusb do ZimaOS, a mostrar uma ligação USB3 a 5000M, mas o driver usb-storage na caixa externa JMicron
O ZimaOS negociou uma ligação USB3 a 5 Gbps, mas o dispositivo de armazenamento de massa utilizava o driver usb-storage. Fonte: Fórum da Comunidade IceWhale.
Árvore lsusb do CachyOS, a mostrar a mesma caixa externa a 5000M com uas
No CachyOS, a mesma caixa externa USB utilizava o driver UAS a 5 Gbps. Fonte: Fórum da Comunidade IceWhale.
Velocidade de cópia no Dolphin do CachyOS: cerca de 64 MB por segundo a partir da unidade USB
O mesmo hardware copiou dados a cerca de 64 MB/s no CachyOS. Fonte: Fórum da Comunidade IceWhale.
Tarefa de cópia no Ficheiros do ZimaOS, a mostrar cerca de 13,3 MB por segundo a partir da unidade USB
O Ficheiros do ZimaOS registou cerca de 13,3 MB/s na mesma unidade ligada por USB3. Fonte: Fórum da Comunidade IceWhale.

Verifique separadamente a ligação USB e o driver

lsusb -t

Verifique a velocidade negociada, como 5000M, e o driver. Uma ligação USB3 com usb-storage é diferente de uma ligação USB2, mesmo que a velocidade de transferência continue a ser dececionante.

Porque é que o UAS pode ser importante

O UAS suporta filas de comandos mais eficientes e semântica SCSI em comparação com o antigo driver de armazenamento USB bulk-only. No hardware de origem, o CachyOS utilizava uas, enquanto o ZimaOS utilizava usb-storage.

Verifique o chip bridge

A caixa externa utilizava uma bridge JMicron JMS566. Os problemas com o armazenamento USB são frequentemente específicos de cada chipset bridge, porque alguns dispositivos não funcionam bem com UAS. Não force o UAS sem perceber por que motivo o kernel selecionou ou colocou um driver na lista negra.

NTFS adiciona mais uma variável de desempenho

O disco de origem usava NTFS. Compare a mesma unidade e caixa com outro sistema de ficheiros apenas se o puder fazer sem perder dados importantes. A sobrecarga do sistema de ficheiros pode agravar um estrangulamento do transporte USB.

Faça o teste de desempenho fora da interface Ficheiros

Use um ficheiro sequencial grande e faça a medição na shell para eliminar a sobrecarga do navegador e da interface. Compare também as leituras e as escritas separadamente.

Volte a testar com a versão atual do ZimaOS

A versão atual do ZimaOS usa um kernel e uma pilha de armazenamento mais recentes do que as versões beta 1.4.2/1.4.4 mencionadas no tópico de origem. O guia de armazenamento do ZimaOS atual indica que as unidades USB são dispositivos de armazenamento normalmente suportados.

Não force o UAS às cegas

Se o kernel recorrer intencionalmente a usb-storage devido a um quirk da bridge, forçar o UAS pode provocar reinicializações ou corrupção de dados. Comece por comparar o comportamento atual do ZimaOS, os registos do kernel e a mesma caixa noutro sistema Linux.

A lista de verificação do desempenho do NAS permite diagnosticar a velocidade de forma mais abrangente.

Verifique os registos do kernel à procura de quirks ou reinicializações do UAS

dmesg | grep -Ei 'usb|uas|jms|reset|xhci' | tail -150

Procure reinicializações repetidas, recuos do UAS, quirks do dispositivo ou erros de transporte. Mesmo uma ligação estável a 5 Gbps pode ter um desempenho fraco se a bridge repetir constantemente os comandos.

Use o mesmo ficheiro para testar em diferentes sistemas operativos

Compare o ZimaOS com outra distribuição Linux usando a mesma caixa, cabo, disco, sistema de ficheiros e ficheiro de teste com vários gigabytes. Alterar várias variáveis ao mesmo tempo torna a comparação entre controladores muito menos fiável.

Experimente outra caixa antes de substituir o computador anfitrião

Se uma segunda caixa com suporte para UAS funcionar normalmente na mesma máquina com ZimaOS, a bridge JMS566 e o respetivo comportamento em relação a quirks tornam-se suspeitas mais prováveis do que o próprio controlador USB da Wyse.

Perguntas frequentes

5000M significa que o disco deve atingir 500 MB/s?

Não. É a velocidade da ligação USB, não a velocidade real de transferência do HDD.

Porque era o CachyOS mais rápido no mesmo hardware?

As capturas de ecrã mostram o CachyOS a usar UAS e o ZimaOS a usar o controlador legado usb-storage, além do mesmo disco NTFS.

Devo deixar de usar NTFS?

Só depois de testar e fazer uma cópia de segurança. A diferença entre os controladores já é uma pista importante.

Devo forçar o controlador UAS?

Não o faça sem verificar as peculiaridades do kernel e a estabilidade desse chipset de bridge.