Непонятная ситуация с диском

vasek
забить нулями
забил, сделал полное форматирование, почти 7 часов...
Теперь со списком разделов порядок, но тормоза при записи остались. Первые несколько секунд копируется со скоростью около 75 МБ/сек, потом плавно опускается до сотен килобайтов.
abc
забил, сделал полное форматирование, почти 7 часов…
Похоже забил нулями весь диск? … Главное разобрались, что с разделами все нормально.
abc
но тормоза при записи остались. Первые несколько секунд копируется со скоростью около 75 МБ/сек, потом плавно опускается до сотен килобайтов.
А вот с этим ничего конкретного сказать не могу, нужен анализ. Нужно было после подготовки диска копировать файлы на диск не все сразу, а частями. Посмотреть как копируются небольшие объемы, начать с 1-го файла размером мегов 50, если все нормально скопировать файл на мегов 300, если все нормально, увеличить до 0.5-1 гига. При этом также посмотреть, как копируется куча мелких файлов небольшого размера. Если есть тормоза, поиграться с параметрами sysctl. При этом нужно смотреть и другую информацию - нагрузка cpu, памяти, диска, при этом подобрать удобные утилиты.
А так одно гадание и не понятно откуда эти тормоза - или диск или система. И к тому же не понятно интересно - эти тормоза наблюдаются сразу же при записи небольшого объема на чистый диск? или только когда он заполнится до определенного объема?

PS - и забыл подсказать, нужно было оставить на диске не размеченное пространство, объемом не менее процентов 15, но уже поздно, будем считать, что с размером резервной области все нормально и она здесь не причем.
забыл. что у тебя hdd, а не ssd
abc
Имеется hdd диск на 500 ГБ

EDIT 1 - конечно, есть много способов и утилит тестирования производительности дисковой подсистемы, есть даже такие комбайны, как iozone (многоплановое тестирование производительности диска, файловой системы и др.).
У всех есть свои минусы и плюсы. Можешь почитать эту статью (обязательно почитай комментарии юзеров, есть интересные суждения). Может в чем нибудь и поможет или наведет на какие-нибудь мысли.
Ошибки не исчезают с опытом - они просто умнеют
Я ещё только тестовые файлы копировал. Папка 2 Гб мелких файлов около 700 штук, скопировались примерно за 3 минуты. 500 Мб файл тоже быстро. Тормозить начинает примерно с 1 Гбных файлов. Фильм на 1,5 Гб почти 10 минут. Причем первые 800-900 мб копируются быстро потом скорость с 75 Мб сек начинает падать. Сходил к соседу с диском, у него вин7. Фильм на 2,3 Гб записал примерно за минуту. Прогресс затормозил на 99% и так дописывал примерно 20 сек. Что я считаю вполне приемлемым.

Я так понимаю дело в связке мой ноут и этот диск. Другие диски норм работают. Это диск на другом ПК тоже норм.

А что за параметры sysctl?
abc
Я так понимаю дело в связке мой ноут и этот диск. Другие диски норм работают. Это диск на другом ПК тоже норм.
Хорошо что провел такой анализ. Но не понятно то, что другие диски работают нормально, а один нет ... хотя на другои компе все нормально.
И да, причина похоже в системе + железо. Интересно узнать - какая файловая система, размер ОЗУ, наличие и размер swap.
Раньше в Linux был известный bug ... 12309 - погугли о нем, заодно там найдешь и немного про опции sysctl
Но проверить его наличие можно - запусти команду dd if=/dev/zero of=~/test bs=1M count=1M - секунд на 100, затем останови Ctrl+C …. за это время посмотри за отзывчивостью системы (походи по файл-менеджеру, по вкладкам интернета, подвигать мышкой ...)
для сравнения привожу свой вывод
^C6469+0 записей получено
6469+0 записей отправлено
6783238144 байт (6,8 GB, 6,3 GiB) скопирован, 91,5571 s, 74,1 MB/s
Если все нормально - тормозов нет и вывод примерно такой же, то о баге забываем и продолжим дальнейшие эксперименты ... и да, файл не удаляй, пригодится - просто пока нет времени ... может кто еще что то посоветует.
Ошибки не исчезают с опытом - они просто умнеют
Попробовал скопировать этот файл test (плученный с помощью dd выше) размером 6,3G в другое место с помощью cp
cp ~/test ~/TTT
1. дефолтные настройки - почти 4 мин (3.57)
2. попробовал изменить параметры sysctl - просто скопировал из найденного у меня файла (даже не вникал, может что то и лишнее)
cat /etc/sysctl.d/99-sysctl.conf
vm.vfs_cache_pressure=1000
vm.overcommit_ratio=100
vm.dirty_bytes = 4194304
vm.dirty_background_bytes = 4194304
vm.dirty_ratio=10
vm.dirty_background_ratio=5
vm.dirty_expire_centisecs=1000
Чтобы изменения вступили в силу - sudo sysctl -p /etc/sysctl.d/99-sysctl.conf
время особо и не изменилось - 3,45 ... возможно просто погрешность ... если играться с этими и другими параметрами sysctl, то нужно вдумчиво ...

PS - когда то давно экспериментировал и игрался с этим параметрами - уменьшал время копирования процентов на 15-20 … но тогда было и памяти меньше и ядро другое … сейчас вряд ли что можно из этого выжать.
Описание параметров можешь, например, поссмотреть в DOC или нагуглить на ru.

Интересно сравнить с твоим временем.
Ошибки не исчезают с опытом - они просто умнеют
abc
Другие диски норм работают
Интересно узнать - эти другие диски тоже имеют расширенный формат? - или обычный ... размер логического и физического секторов равен 512 байт
abc
Размер сектора (логический/физический): 512 байт / 4096 байт
Размер I/O (минимальный/оптимальный): 4096 байт / 4096 байт
Ошибки не исчезают с опытом - они просто умнеют
Сегодня решил помучать молодежь перед долгим отдыхом - дал им задание провести статистический анализ записи/копирования большого файла на моем ноутбуке (причина - многое чего придется им применить, а заодно и решил проверить их на знание оного)
Привожу результаты их анализа (использовался файла размером 6,3G, указанный выше)
Чтение/запись (read/write) выпонялось кусками по 128Кб
Количество системных вызовов  read/write -  51752/51752
Суммарное время на выполнение системных вызовов read - 174.892с
Суммарное время на выполнение системных вызовов write -  28.847с
Общее время на выполнение системных вызовов read+write -  203,739с
Среднее время выполнения системного вызова read -   0,00338с
Среднее время выполнения системного вызова write -  0,00056с
Макс/Мин время выполнения системного вызова read -  0.3788/0.000031
Макс/Мин время выполнения системного вызова write - 0.2787/0.000134

Итого, в моей системе, при копировании больших файлов скорость чтения в 6 раз медленнее скорости записи ... почему то считал на оборот
Ошибки не исчезают с опытом - они просто умнеют
vasek
какая файловая система, размер ОЗУ, наличие и размер swap
ОС стоит на SSD разделы под рут и хомяк оба ext4, boot fat, ОЗУ 6 гиг, своп 4 гига.

vasek
dd if=/dev/zero of=/run/media/abc/2FD6F5EE49DF7EC4/test bs=1M count=1M
на 160 секунд
6223+0 записей получено
6223+0 записей отправлено
6525288448 байт (6,5 GB, 6,1 GiB) скопирован, 157,73 s, 41,4 MB/s

на 10 секунд
976+0 записей получено
976+0 записей отправлено
1023410176 байт (1,0 GB, 976 MiB) скопирован, 9,32607 s, 110 MB/s

То есть, если писать долго, то скорость падает.

На хоум SSD
20491+0 записей получено
20491+0 записей отправлено
21486370816 байт (21 GB, 20 GiB) скопирован, 38,9126 s, 552 MB/s

Думаю бага нет. При работе этой команды, вся система отзывчива, тормозов не было.

Остальное сделаю и отпишусь после НГ. Сегодня надо домонтировать видеоролики :-)
abc
ОС стоит на SSD разделы под рут и хомяк оба ext4,
что то я совсем запутался
abc
Имеется hdd диск на 500 ГБ. Очень долго копируются на него файлы.
выходит медленное копирование не в пределах системного диска, а с одного диска на другой??? ... да, наверное, еще и с другой файловой системой?
Если так, то там свои примочки. Сначала нужно проверить копирование на диске, на котором стоит система, если все нормально, разбираться с копированием с диска на диск - что и как прописано.
Ошибки не исчезают с опытом - они просто умнеют
И все-таки, чтобы делать какие то выводы хорошо бы сначала проверить этот диск на чтение блоков - время уйдет около 2-х часов, зато узнаешь состояние диска.
Как пример, привожу данные свого HDD обьемом 640 G, прослужил около 7 лет, но состояние хорошее - 1-ая колонка время чтения блока, 2-ая колонка количество блоков в этом диапазоне
< 3ms    - 4 381 898
<10ms   - 499 998
<50ms   - 1 874
<150ms - 68
<500ms - 5
>500ms - 0
err     - 0
как видим всего 5 блоков с большим временем чтения (от 150ms до 500ms), а если посмотреть SMART, то увидим, что 1 блок переназначен, а 4 блока в кандидаты на переназначение, то есть та жа цифра - 5 блоков.
Это я к тому, что чем больше на диске блоков с большим временем чтения, тем меньше его производительность. Хорошим считается, что все блоки укладываются в диапазон 0-50ms (если и есть блоки с большим временем, то их очень мало).

PS - в AUR для теста есть утилита hwdd, которую лучше запускать из консоли, без запуска X-ов, чтобы ничего не мешало. Там же на картинке, во время теста, будет показана и скорость чтения (которая будет снижаться с течением времени процентов на 15, что закономерно). Пользоваться довольно просто, запуск через sudo, выбор диска, read test. Лога нет, поэтому лучше записать результаты теста на бумажку. Если пойдет много блоков с большим временем чтения, то записать номер LBA, чтобы определиться с местоположением этих блоков.

EDIT 1 - если делать в винде, то там есть утилита HD Tune, если не pro, то бесплатная.
Ошибки не исчезают с опытом - они просто умнеют
 
Зарегистрироваться или войдите чтобы оставить сообщение.