LINUX.ORG.RU

Зависание при нагрузке на HDD

 


1

2

Продолжая тему пятилетней давности Зависание (swap, нагрузка на HDD) при ОЗУ 80%+

Когда-то был один старенький HDD и 4ГБ ОЗУ. Файрфокс на swap постоянно вешал намертво систему. Ну типа HDD отстой, ОЗУ мало.

Ну что же, купил для Фокса 16ГБ озу и сделал RAID1 из двух НОВЫХ терабайтников Терабайтный HDD показывали 32мб Swap отключил (хотя на диске выделил на всякий случай 18ГБ), но Фоксу на это наплевать. Смог уменьшить проблему частой очисткой памяти в Фоксе.

Но появился новый источник - копирование файлов с раздела на раздел, через MP4box - он из TMP на другой раздел, с EXT4 на EXT4. Систему подвисает полностью, но достаточно быстро отпускает. Иногда рывками, иногда на пару секунд, иногда секунд на 10 (все варианты могут быть во время одного процесса, зависит от размера файла).

При копирование через Дельфин зависаний не замечал вроде. А вот MP4box почему-то вызывает подвисания.

Что ещё надо Линю? Масдай и SSD не предлагать.

Может есть какая волшебная команда, чтобы ограничить скорость записи на отдельные потоки? Или появились какие новые рецепты по решению данной проблемы? (помню что это старый баг, который много лет не могут/не хотят решить, номер бага не помню) Пробовал давно собирать ядро, но танцы эти мне не понравились, не для меня. Там больше проблем после этого, то VB не запускается, то вообще печаль беда после обновления ОС.

ОС кУбунту



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

Выкинуть устаревший хлам под названием HDD и поставить SSD

Накатить свежайшее ядро (5.1.х)

Установить swappiness в 10 или 20

Deleted
()

поменяй блок питания

r0ck3r ★★★★★
()

НОВЫХ терабайтников

И что, что они новые? Низкооборотистые харды будут тормозить. Чтение и запись с/на один диск тоже тормозная операция, если у него мелкий кэш.

Будет лучше использовать под систему SSD.

mord0d ★★★★★
()

Купить новое железо (Ryzen 5 2600, материнку на B450, NVMe SSD (PCI-E x4 в M.2)) и перейти с Линя на Фряшечку 12-ю. У неё таких проблем нету.

iZEN ★★★★★
()

Смог уменьшить проблему частой очисткой памяти в Фоксе.

Сорян что вклиниваюсь, но можешь показать, как это выглядит?

Prosto_user ★★★
()

Может есть какая волшебная команда

ulatency?

Deleted
()

В данный момент на машине, с которой я пишу это сообщение, установлено 4ГБ ОЗУ и НЖМД. И ФФ работает нормально. Может просто не надо открывать 1000+ вкладок и ставить все на свете дополнения?

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

Выкинуть устаревший хлам под названием HDD и поставить SSD

У меня как раз на SSD были проблемы с приоритетами диска, правда давно и на винде.

emmanuel
()

копирование файлов с раздела на раздел … Систему подвисает полностью, но достаточно быстро отпускает. Попробуй это покрутить

echo "vm.dirty_bytes=16777216" >> /etc/sysctl.conf
echo "vm.dirty_background_bytes=16777216" >> /etc/sysctl.conf
legolegs ★★★★★
()
Ответ на: комментарий от anonymous

УМВР. В федоре этот конфиг поставляется с системд.

$ rpm -qf /etc/sysctl.conf
systemd-239-11.git4dc7dce.fc29.x86_64
legolegs ★★★★★
()

Поставь нормальный броузер(хром)

anonymous
()

Может есть какая волшебная команда, чтобы ограничить скорость записи на отдельные потоки?

Можно вот так делать: https://github.com/i-rinat/autofsync. Перехватывает функции libc и адаптивно вызывает fsync, стараясь удерживать незаписанный объём данных в секундах, а не байтах. Используй через LD_PRELOAD.

Не решает проблему с тормозами от swap, не решает 12309. Но зато запись данных более предсказуема. Особенно запись на медленные флешки.

i-rinat ★★★★★
()
Последнее исправление: i-rinat (всего исправлений: 1)
Ответ на: комментарий от anonymous

Почему бы не ткнуть товарищей на багзилле ядра в это?

Не моя война.

i-rinat ★★★★★
()
Ответ на: комментарий от anonymous

что за всякие __open __open_2 __open_nocancel и тд экспортируются из glibc?

Наверное, что-то для внутреннего использования. Glibc в бинарном виде состоит из нескольких библиотек. Видимо, чтобы не делать лишних проверок при перекрёстных вызовах, и при этом и не дублировать код.

На первый взгляд __open от open не отличается, а __open_2 — просто другое имя для __open. Но в glibc страшно долго смотреть. Если слишком долго разглядываешь, начинает казаться, что glibc смотрит в тебя.

i-rinat ★★★★★
()

Установить swappiness в 10 или 20

Swap отключен swapoff -a

поменяй блок питания

Он точно не при чём. Легко работали 2 RAID1 в режиме копирования + ещё 1 терабайтник.

Купить новое железо

Ещё и 64ГБ ОЗУ.

Сорян что вклиниваюсь, но можешь показать, как это выглядит?

На телефон заснять зависание или чего? Или как чищу? about:memory

ulatency

Что-то мало инфы в русскоязычном интернете. Оно нагрузку на процессор контролирует или все процессы?

Может просто не надо открывать 1000+ вкладок и ставить все на свете дополнения?

И не включать компьютер. Ну или хотя бы прочитать первое сообщение, что проблемы ВО ВРЕМЯ КОПИРОВАНИЯ файлов в контексте данной темы.

Попробуй это покрутить

А почему эти цифры? В другой теме нашел похожее, но чуть другое странное копирование на USB (комментарий)

autofsync

А что с этим делать?

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

ulatency

Что-то мало инфы в русскоязычном интернете. Оно нагрузку на процессор контролирует или все процессы?

Демон. Периодически анализирует систему. Расставляет cgroup.

PS: Чтобы тебе ответили, кастуй: [user]name[/user].

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

Cast legolegs, i-rinat. Вроде Вам ответили, но как то криво.

zvezdochiot, что значит ответили? Они там о чём-то о своём говорили :)

И что делать с autofsync - из соседней темы я понял, что надо кастомизировать как-то приложения/программы. Но это точно не вариант. Я не представляю как кастомизировать m4box.

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

что значит ответили?

Когда ты отвечаешь мне, кастовать не надо, мне оповещение и так придёт. А когда ты «ответил» всем, оповещение не пришло никому.

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

bfq-mq не пробовал включать? На моём Sandy/8Гб ядре 4.18, не то чтобы совсем фантастично, но вроде фризы из-за hdd существенно подлечило.

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

«Ответили» означает, что в уведомлениях появляется строчка. У нас тут древовидная система комментариев, каждый ответ прикреплён к одному конкретному из предыдущих.

А почему эти цифры?

От балды.

Это, если кратко, буфер между приложением и носителем.

Но по умолчанию линукс ставит 10-20% от оперативки, что слишком много, по моему опыту 16мб достаточно адекватно и для дисков и для флешек. Насчёт быстрых и хороших SSD не знаю. Можно и 8 и 4мб и, например, даже со 128 лучше, чем дефолтные 20% от моих 16гб ОЗУ, которые больше, чем некоторые флешки.

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

У нас тут древовидная система комментариев, каждый ответ прикреплён к одному конкретному из предыдущих.

У меня не деревовидные, у меня все подряд.ЧЯДНТ?

Но по умолчанию линукс ставит 10-20% от оперативки, что слишком много, по моему опыту 16мб

Хорошо, спасибо, попробую. С флешками тоже есть эта известная хрень, но вопрос не про флешку же был.

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

Включил что-то

#sudo modprobe bfq
[sudo] пароль для banru: 
#sudo cat /sys/block/sda/queue/scheduler
[none] bfq

Но почему-то не как у всех вывод

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

Сделал как написано тут

А чего они там модуль-то не загрузили. По-моему вот самая простая инструкция для Убунты. Проверял, работает.

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

Поверь, они древовидные. Под каким постом нажимаешь «ответить», на тот и будет ссылка над ответом, и уведомление отправится.

С флешками аномалии из-за большого буфера записи самые заметные, но влияет это на всё.

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

BFQ не помогло. Тормоза такие же, если не хуже.

В режиме NONE вообще алес полный был, безвозвратный. Дважды ОЗУ выпрыгивало за 90% и просто висло всё и даже индикатор диска не горел.

640 кб хватит всем, говорили они. Но не хватает даже 16ГБ для обычного сёрфинга!!! Не игр, не видеобработки. ОБЫЧНОГО ВЕБСЁРФИНГА!

Буду пробовать другие советы.

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

Буду пробовать другие советы.

Может всё-таки KDE шалит? Потесть сёрфинг в icewm, так сказать «проверка на вшивость».

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

Это ядро линукса шалит уже десятилятиями так.

Возможно. А возможно и нет. Какие действия, чтобы выяснить это?

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

Ядро не должно позволять обычной, не-рутовой программе нагибать всю систему. Этот пункт провален.

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

Ядро не должно позволять обычной, не-рутовой программе нагибать всю систему.

Но как выяснить, обычная прога нагибает или иксы «сходят с ума»?

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

Может всё-таки KDE шалит? Потесть сёрфинг в icewm, так сказать «проверка на вшивость».

Нет. Выше я писал что шалит при копирование с раздела на раздел программой MP4box: она с флешки собирает куски видео в одни файл сначала в ТМР, а потом копирует в заданное место (другой раздел). Вот во время копирования и происходят фризы.

А в режиме NONE было два жёстких зависания, что я даже ничего не успевал сделать. Обычно есть какое-то время или моменты между фризами, чтобы дропнуть память в браузере или сам браузер через CTRL+ALT+ESC.

На втором мониторе у меня Коньки запущены, там и видно было, что 93% ОЗУ и нет реакции компьютера ни на что. Повторю - это при NONE.

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

А точно окажется, что через 4 года будет хватать SSD? Мне помнится при где-то говорили «поставь больше ОЗУ». Не. я конечно всё понимаю - прогресс и прочее. Вот поставил новенькие диски в raid, пусть и не SSD, но точно SSD поможет и через 4 года не придёт им каюк со всей инфой на них? Или SSD только для Линукса надо? Не жирно ССД+16гб?

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

Линукс пилят для серверов, а там и терабайт озу не жирно.

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

Не жирно ССД+16гб?

Нет. У меня так уже лет пять, как купил два SSD на 1.5 ТБ и 16 ГБ ОЗУ специально для линуксовой машины — так и работает всё это.

Для линуксов самое оно, а то тормозить будет. Это всё же не Windows или macOS, которые во главу ставят отзывчивость интерфейса.

fornlr ★★★★★
()
Последнее исправление: fornlr (всего исправлений: 1)
24 сентября 2020 г.

Шёл к концу 2020 год и для сёрфинга на Линуске становилось уже недостаточно 16ГБ ОЗУ и SSD (или RAID HDD). На багтрекерах за последние три года шквал подобных сообщений.

Может пора ставить Firefox 3.6 на виртуалку с 512 оперативы?

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

Пользуюсь Firefox 60-68 с 1.5 Гб оперативы. Ты что-то делаешь не так. Например, не догадался поменять дефолтные значения количества процессов.

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

Шёл к концу 2020 год и для сёрфинга на Линуске становилось уже недостаточно 16ГБ ОЗУ и SSD (или RAID HDD).

Да уж, система…

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

Это лиса плющит жестко. На 4 гигабайтах в 80.0.1 при открытии второй вкладкой видео в тытубе может уйти в свап. Если его закрыть память он продолжает жрать около гигабайта. Если запустить простую программу под вайн фаерфокс гарантированно плющит на разрешении 4К. 2560х1440 жрет вполовину меньше памяти. Palemoon почему-то не плющит.

anonymous
()

anonymous

в 80.0.1

я до сих пор на 56 и пошли они в пешее со своими обновлениями.


Более менее жил, смирившись как тибетские монахи, с настройкой «не свапиться до 90% ОЗУ» vm.swappiness = 10 . Но как эта отметка преодолевалась моментально зависало.

Пробовал дважды zram, фигня полная. Создаёт виртуальные блоки, которые не заполняются на 100%, но при заполнение ОЗУ также виснит всё, не успев заполнить свои блоки.

По разным рекомендациям теперь бесконечные фризы (дёрганья и подвисания) в Фоксе даже при 30% ОЗУ. Например пока пишу это сообщение буквально на каждом пятом слове происходит фриз и особенно хорошо это видно на Ютуб.

Пока бездумно вставил копипасту в /etc/sysctl.conf

vm.overcommit_memory = 2
vm.overcommit_ratio = 90
vm.dirty_bytes = 2097152
vm.dirty_background_bytes = 2097152
vm.swappiness = 10
vm.vfs_cache_pressure = 50
vm.min_free_kbytes = 393216

За пару недель вчера впервые произошёл завис. Не успел увидеть на каких значениях. Если не считать фризы в Firefox, то на первый взгляд вроде чуть лучше.

Буду пробовать играться со значениями. Надо понять что отвечает за микрофризы. Я допускаю иногда фризы, но не каждые 5 слов.

PS Может кому пригодиться sudo nano /etc/sysctl.conf Добавляем в конец строки выше, сохраняем и перезапускаем конфиг sudo sysctl -p

PPS Немного теории. Я не для таких проблем покупал мощный проц и ускоренную ОЗУ немаленького объёма (на момент покупки). В нормальной десктопной системе должно быть из коробки алгоритм:

  • пишем ОЗУ до 80-90%;
  • как приближаемся к данному значения - должен быть медленный фоновый сброс в swap;
  • при достижение 90% говорить приложению что ОЗУ закончилось и пусть оно виснет или падает.

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

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

честно говоря, я на 16гиг озу ещё ни разу свап не включал и зависаний не видел

может у тебя там швабодный видеодрайвер рассыпается как обычно?

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

dirty_bytes разумеется прописано

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

может у тебя там швабодный видеодрайвер рассыпается как обычно?

Поподробнее можно? Отдельной видюшки нет, интегрированная в проц.

Ссылка по теме на мою проблему вот http://lurkmore.to/12309 И там крайняя ссылка на обсуждение https://www.opennet.ru/opennews/art.shtml?num=51231

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

На текущий момент только одна ошибка (дважды) в поле видимости

[108428.867231] cdc_acm 3-4:1.1: failed to set dtr/rts

Во время зависания я точно не смогу увидеть. А лаги прекратились - поднял значения:

  • vm.swappiness = 90 (было 10). Поэтому свапиться начинало наньше, хотя Свап не был забит ни разу более чем на 500 МБ из 18 ГБ доступных. Сейчас пока ОЗУ заполнено на 61%, так что об зависание рано говорить. https://i.imgur.com/ZUXFiTx.png Но лаги при этом оставались.
  • vm.min_free_kbytes = 1048576 вместо 393216. Лаги прекратились. Но есть предчувствие, что при достижение ОЗУ 90% будет как обычно.
BaN
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.