Soluzione della community

ZimaOS USB3 lento: controlla prima 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.

Il vecchio problema delle prestazioni USB non era una semplice questione di “collegamento USB2”: ZimaOS ha negoziato 5Gbps, ma il box JMicron JMS566 utilizzava il vecchio driver usb-storage, mentre CachyOS utilizzava uas. Questa differenza tra i driver spiega molto meglio lo scarto tra 13MB/s e circa 64MB/s rispetto alla sola velocità fisica del collegamento USB.

La discussione si è interrotta prima che IceWhale pubblicasse una soluzione, quindi gli utenti attuali dovrebbero ripetere i test su ZimaOS 1.7.1 prima di supporre che il comportamento del bridge/driver sia ancora lo stesso. Quando confronti i sistemi, conserva le prove esatte relative a controller, filesystem e driver.

Albero lsusb di ZimaOS che mostra un collegamento USB3 a 5000M, ma il driver usb-storage sul box JMicron
ZimaOS ha negoziato un collegamento USB3 a 5Gbps, ma il dispositivo di archiviazione di massa utilizzava il driver usb-storage. Fonte: forum della community IceWhale.
Albero lsusb di CachyOS che mostra lo stesso box a 5000M con uas
Su CachyOS, lo stesso box USB utilizzava il driver UAS a 5Gbps. Fonte: forum della community IceWhale.
Velocità di copia di Dolphin su CachyOS intorno a 64 MB al secondo dall’unità USB
Lo stesso hardware ha copiato a circa 64MB/s su CachyOS. Fonte: forum della community IceWhale.
Attività di copia di ZimaOS Files con una velocità di circa 13.3 MB al secondo dall’unità USB
ZimaOS Files ha mostrato circa 13.3MB/s sulla stessa unità collegata via USB3. Fonte: forum della community IceWhale.

Controlla separatamente il collegamento USB e il driver

lsusb -t

Controlla sia la velocità negoziata, ad esempio 5000M, sia il driver. Una connessione USB3 con usb-storage è diversa da una connessione USB2, anche se la velocità di trasferimento è comunque deludente.

Perché UAS può essere importante

UAS supporta l’accodamento dei comandi e la semantica SCSI in modo più efficiente rispetto al vecchio driver USB di archiviazione bulk-only. Sull’hardware di origine, CachyOS utilizzava uas, mentre ZimaOS utilizzava usb-storage.

Controlla il chip bridge

Il box utilizzava un bridge JMicron JMS566. I problemi con le unità USB si verificano spesso con determinati chipset bridge, perché alcuni dispositivi funzionano male con UAS. Non forzare UAS senza capire perché il kernel abbia selezionato o inserito nella blacklist un driver.

NTFS aggiunge un’altra variabile alle prestazioni

Il disco di origine usava NTFS. Confronta la stessa unità e lo stesso enclosure con un altro filesystem solo se puoi farlo senza rischiare di perdere dati importanti. L'overhead del filesystem può sommarsi a un collo di bottiglia del trasporto USB.

Esegui il benchmark al di fuori dell'interfaccia File

Usa un file sequenziale di grandi dimensioni ed esegui la misurazione dalla shell, così da escludere l'overhead del browser o dell'interfaccia. Confronta anche lettura e scrittura separatamente.

Ripeti il test con la versione attuale di ZimaOS

La versione attuale di ZimaOS usa un kernel e uno stack di archiviazione più recenti rispetto alle versioni beta 1.4.2/1.4.4 menzionate nel thread di origine. L'attuale guida all'archiviazione di ZimaOS indica che le unità USB sono dispositivi di archiviazione supportati normalmente.

Non forzare UAS alla cieca

Se il kernel passa intenzionalmente a usb-storage per una quirk del bridge, forzare UAS può causare reset o danneggiamento dei dati. Per prima cosa confronta il comportamento attuale di ZimaOS, i log del kernel e lo stesso enclosure su un altro sistema Linux.

La lista di controllo delle prestazioni NAS offre una diagnosi più ampia della velocità.

Controlla i log del kernel per individuare quirks UAS o reset

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

Cerca reset ripetuti, fallback a UAS, quirks del dispositivo o errori di trasporto. Un collegamento stabile a 5Gbps può comunque avere prestazioni scarse se il bridge riprova continuamente a eseguire i comandi.

Usa lo stesso file per i test tra sistemi operativi

Confronta ZimaOS e un'altra distribuzione Linux usando lo stesso enclosure, cavo, disco, filesystem e file di test di diversi gigabyte. Cambiare più variabili contemporaneamente rende il confronto tra driver molto meno attendibile.

Prova un altro enclosure prima di sostituire l'host

Se un secondo enclosure compatibile con UAS funziona normalmente sulla stessa macchina ZimaOS, il bridge JMS566 o il percorso delle quirks diventano sospetti più fondati rispetto al controller USB del Wyse.

Domande frequenti

5000M significa che il disco dovrebbe raggiungere 500MB/s?

No. È la velocità del collegamento USB, non la velocità di trasferimento effettiva dell'HDD.

Perché CachyOS era più veloce sullo stesso hardware?

Gli screenshot mostrano CachyOS con UAS e ZimaOS con il driver legacy usb-storage, oltre allo stesso disco NTFS.

Devo passare da NTFS a un altro filesystem?

Solo dopo aver fatto dei test e un backup. La differenza tra i driver è già un indizio importante.

Devo forzare il driver UAS?

Non senza prima verificare le particolarità del kernel e la stabilità di quel chipset bridge.