LINUX.ORG.RU

Почему в OpenSuSe 15.5 так медленно работают USB флешки?

 , ,


0

1

Запись на флешку очень медленная. Около 100 Кб/сек. Просто непозволительно медленная.

Как диагностировать проблему и как её решить? Флешка нужна чтобы смотреть кино на телевизоре.

Как диагностировать проблему:

0. Отключить создание превью-миниатюр в файловом менеджере.
1. Попробовать другой линукс
2. Попробовать другую флешку
3. Попробовать Windows
4. Попробовать другой компьютер

Khnazile ★★★★★
()
Ответ на: комментарий от OSuse15

Значит у тебя предыдущая команда не сработала. Или ты её выполнил и перегрузился? Не надо перегружаться, она одноразовая, попробовать, помогает ли в принципе.

Можно (и даже лучше) так сделать:

автоматический flush для для всех дисков (комментарий)

greenman ★★★★★
()
Последнее исправление: greenman (всего исправлений: 2)
Ответ на: комментарий от greenman

Сделал как описано по ссылке. Теперь cat показывает ненулевые значения:

localhost:/home/user # cat /proc/sys/vm/dirty_bytes
67108864
localhost:/home/user # cat /proc/sys/vm/dirty_background_bytes
33554432

Но всё равно скорость работы с флешками не выросла. По прежнему как у улитки.

OSuse15
() автор топика
Ответ на: комментарий от greenman

А USB2 нет?

Есть и USB2.0. В них мышка и аудиоколонки вставлены. Но я проверял, там скорости такие-же маленькие.

Может это баг OpenSuSe 15.5? Всё таки свежий релиз. Может установить опять 15.4? Как думаете?

OSuse15
() автор топика
Ответ на: комментарий от greenman

Образ OpenSuSe только вчера скачал. Сегодня с утра поставил вместо 15.4. И вот такие вот глюки сразу.

Кстати я ещё Windows запускал на этом компьютере. Там флешки тоже нормально работали.

OSuse15
() автор топика
Ответ на: комментарий от greenman

А опции монтирования?

cat /proc/mounts

localhost:/home/user # cat /proc/mounts
proc /proc proc rw,nosuid,nodev,noexec,relatime 0 0
sysfs /sys sysfs rw,nosuid,nodev,noexec,relatime 0 0
devtmpfs /dev devtmpfs rw,nosuid,size=4096k,nr_inodes=1048576,mode=755,inode64 0 0
securityfs /sys/kernel/security securityfs rw,nosuid,nodev,noexec,relatime 0 0
tmpfs /dev/shm tmpfs rw,nosuid,nodev,inode64 0 0
devpts /dev/pts devpts rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000 0 0
tmpfs /run tmpfs rw,nosuid,nodev,size=2435192k,nr_inodes=819200,mode=755,inode64 0 0
tmpfs /sys/fs/cgroup tmpfs ro,nosuid,nodev,noexec,size=4096k,nr_inodes=1024,mode=755,inode64 0 0
cgroup2 /sys/fs/cgroup/unified cgroup2 rw,nosuid,nodev,noexec,relatime,nsdelegate 0 0
cgroup /sys/fs/cgroup/systemd cgroup rw,nosuid,nodev,noexec,relatime,xattr,name=systemd 0 0
pstore /sys/fs/pstore pstore rw,nosuid,nodev,noexec,relatime 0 0
bpf /sys/fs/bpf bpf rw,nosuid,nodev,noexec,relatime,mode=700 0 0
cgroup /sys/fs/cgroup/devices cgroup rw,nosuid,nodev,noexec,relatime,devices 0 0
cgroup /sys/fs/cgroup/cpuset cgroup rw,nosuid,nodev,noexec,relatime,cpuset 0 0
cgroup /sys/fs/cgroup/hugetlb cgroup rw,nosuid,nodev,noexec,relatime,hugetlb 0 0
cgroup /sys/fs/cgroup/perf_event cgroup rw,nosuid,nodev,noexec,relatime,perf_event 0 0
cgroup /sys/fs/cgroup/misc cgroup rw,nosuid,nodev,noexec,relatime,misc 0 0
cgroup /sys/fs/cgroup/rdma cgroup rw,nosuid,nodev,noexec,relatime,rdma 0 0
cgroup /sys/fs/cgroup/memory cgroup rw,nosuid,nodev,noexec,relatime,memory 0 0
cgroup /sys/fs/cgroup/net_cls,net_prio cgroup rw,nosuid,nodev,noexec,relatime,net_cls,net_prio 0 0
cgroup /sys/fs/cgroup/blkio cgroup rw,nosuid,nodev,noexec,relatime,blkio 0 0
cgroup /sys/fs/cgroup/pids cgroup rw,nosuid,nodev,noexec,relatime,pids 0 0
cgroup /sys/fs/cgroup/cpu,cpuacct cgroup rw,nosuid,nodev,noexec,relatime,cpu,cpuacct 0 0
cgroup /sys/fs/cgroup/freezer cgroup rw,nosuid,nodev,noexec,relatime,freezer 0 0
/dev/sda2 / ext4 rw,relatime 0 0
systemd-1 /proc/sys/fs/binfmt_misc autofs rw,relatime,fd=30,pgrp=1,timeout=0,minproto=5,maxproto=5,direct,pipe_ino=17477 0 0
debugfs /sys/kernel/debug debugfs rw,nosuid,nodev,noexec,relatime 0 0
mqueue /dev/mqueue mqueue rw,nosuid,nodev,noexec,relatime 0 0
tracefs /sys/kernel/tracing tracefs rw,nosuid,nodev,noexec,relatime 0 0
hugetlbfs /dev/hugepages hugetlbfs rw,relatime,pagesize=2M 0 0
fusectl /sys/fs/fuse/connections fusectl rw,nosuid,nodev,noexec,relatime 0 0
configfs /sys/kernel/config configfs rw,nosuid,nodev,noexec,relatime 0 0
tmpfs /run/user/1000 tmpfs rw,nosuid,nodev,relatime,size=1217596k,nr_inodes=304399,mode=700,uid=1000,gid=100,inode64 0 0
gvfsd-fuse /run/user/1000/gvfs fuse.gvfsd-fuse rw,nosuid,nodev,relatime,user_id=1000,group_id=100 0 0
/dev/sda3 /run/media/user/Datas fuseblk rw,nosuid,nodev,relatime,user_id=0,group_id=0,default_permissions,allow_other,blksize=4096 0 0
/dev/sdb /run/media/user/4CCE-A944 vfat rw,nosuid,nodev,relatime,uid=1000,gid=100,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,showexec,utf8,flush,errors=remount-ro 0 0
tracefs /sys/kernel/debug/tracing tracefs rw,nosuid,nodev,noexec,relatime 0 0
OSuse15
() автор топика
Ответ на: комментарий от OSuse15
echo 4194304 >/proc/sys/vm/dirty_bytes
echo 4194304 >/proc/sys/vm/dirty_background_bytes

люди пишут после таких действий нужно как миниму размонтировать и опять примонтировать флешку. Ну или сделать ребут если уж совсем грубо и прописать вышеназванные значения в sysctl.conf

monkdt
()
Ответ на: комментарий от monkdt

Странно, что на 15.4 без всяких настроек скорость записи нормальная.

Ощущение, что драйвер не загрузился, и запись идёт в режиме USB1

greenman ★★★★★
()
Последнее исправление: greenman (всего исправлений: 1)

Я попробовал испытать все лично, и фигня получил очень странный результат.

Сначала я скачал Live-образ отсюда: https://download.opensuse.org/distribution/leap/15.5/appliances/iso/openSUSE-..., записал на флешку и загрузился.

«Системная» флешка какая-то дешевая USB2, в Live-режиме вроде не тормозила.
Далее, подключил еще одну флешку, USB3 Kingston что-то там. Скоростная флешка, с массивным металлическим корпусом для охлаждения.

Файлы брал с NVMe SSD, архивы и образы дисков - большие файлы, чтобы не упираться в тормоза ФС.

Так вот: на скоростную флешку данные пишутся со скоростью всего 25-30 Мб/сек, хотя раскаляется она как будто там все 90Мб.
Т.е. конечно это не 100кб как у ТС, но все равно не дотягивает до максимальной скорости даже USB2 флешек.

Khnazile ★★★★★
()
Ответ на: комментарий от Khnazile

Ну я бы на месте ТСа для начала померял голым dd скорость работы с usb разделом(всем сразу, т.е. /dev/sdX а не /dev/sdXX). Причем с разными размерами блока. Какой-нибудь дефолтный bs=512 у меня даёт куда худшую скорость записи по сравнению с bs=4096, например.

А там уже можно сравнить со скоростью при использовании ФС.

Плюс MBR-то имеет размер 512 байт. А если у нас физический размер блока на флешке таки 4кб, то это будет означать некоторый оверхед если мы не попадём в физические ячейки при записи (если раздел у нас начнется сразу после). Сейчас вот у себя попробовал, по ощущениям GPT+первый ext4 раздел начинающийся с самого начала отработал быстрее аналогичной разметки на MBR(время засекал весьма приблизительно).

nrader
()
Последнее исправление: nrader (всего исправлений: 1)
Ответ на: комментарий от nrader

Логи+perf помогли бы выявить проблему и выяснить, где теряется время.

Если пользоваться неэзотерическими дистрибутивами, то часто можно просто нагуглить готовое решение.

i586 ★★★★★
()
Последнее исправление: i586 (всего исправлений: 1)
Ответ на: комментарий от Chord

судя по конфигу, у тебя с модулями должен быть порядок. Проверь, в выводе lsmod присутствуют ehci_hcd и xhci_hcd?

localhost:/home/user # lsmod | grep hcd
ehci_hcd               98304  1 ehci_pci
xhci_hcd              311296  1 xhci_pci
usbcore               327680  12 xhci_hcd,ehci_pci,usbhid,rtsx_usb,usb_storage,uvcvideo,ehci_hcd,ath3k,btusb,xhci_pci,uas
OSuse15
() автор топика