Linux почему при нагрузке дисковые операции сильно тормозят

При дисковых операциях тормозят иксы

Собственно сабж, ubuntu 9.10, ext4, 512ram

Поменяй планировщик io.

можно и cfq оттюнить децл.

Это называется «стройная архитектура ОС Линукс в действии».

это называется — x86 — гавно!

памяти добавь. 512 метров для современных дистрибутивов с иксами и DE очень мало. система сидит в свопе — отсюда и тормоза.

Половина свободна, чего еще нехватает

ха — агрессивность свопа настрой!

Попробуй легковесный WM

15 будет лучше — своп или почти или чистый будет — меньше обращений к винту.

Печально известный 12309. У меня на двух машинах проявляется, с десктопным 965 и ноутбучным 945 в качестве системной логики.

А в каком ядре это впервые появилось?

lspci -k
покажите , можно не весь, а только касательно чипсета и контроллера IDE/SATA

В каком-то ископаемом, версий 15 назад, погугли, точно не помню

С 2.6.18.x вроде. Так вот почему RHEL на 2.6.18 сидит!

У меня тормоза на nForce570 и на AMD770. zen-ядро картину не меняет совершенно. Стоит коснуться свопа и всё — курсор мыши встаёт, по минуте можно ждать отклика.

а система 32 или 64 бит?

Свопа лучше не касаться, желательно вообще не использовать его.
4-6 гб памяти, и можно летать, без затормаживающих производительность действий
Память > Swap
Swap > Память
Память > Swap
Swap > Память
Память > Swap
Swap > Память
Память > Swap
Swap > Память
Память > Swap
Swap > Память
Память > Swap
Swap > Память
Память > Swap
Swap > Память

Угу. с 12309 полетаешь.

>Свопа лучше не касаться, желательно вообще не использовать его.
4-6 гб памяти, и можно летать, без затормаживающих производительность действий

А-то я не знал?
Дело в том, что до 18-го ядра всё было нормально. Ну трещал винт свопом, но работать можно было продолжать. По крайней мере сохраниться и продолжить позже.
Дело в том, что в моих задачах тяжело говорить заранее сколько памяти будет занято, и 4 гига заполняются очень легко.

Linux host 2.6.33-020633-generic #020633 SMP Thu Feb 25 10:59:18 UTC 2010 i686 GNU/Linux

В багзилле ядра написано что эту проблему пофиксили в ядрах версий 2.6.32, но потом версиях от 2.6.32.8 снова испортили https://bugzilla.kernel.org/show_bug.cgi?id=12309

понятно, с NCQ непошаманить, только cfq понастраивать если

echo 4096 > /sys/block/sda/queue/nr_requests
for i in `pidof kjournald` ; do ionice -c1 -p $i ; done

А как можно с NCQ пошаманить? Его можно вообще выборочно отключить, только на одном из дисков или только глобально?

Источник

Тормоза при дисковых операциях

Так было всегда, просто достало. При копировании, сохранении, и т.п. дисковые операции виснет все. Туго открываются новые окна, например. Все нормализуется по окончанию этого копирования.

Как-то наверно можно ситуацию улучшить. Конфигом ядра?

Может просто система засралась (устанавливал в 2012)

Сюда пишу, так как не могу грамотно это сформулировать в поисковике.

пересобери систему и мир начисто

scsi_mod.use_blk_mq=1 в опции ядра

Ставлю два имеющихся процессора, что это ничего не изменит.

Попробуй другой планировщик I/O в ядре поменять.

Это как греться у костра и смотреть на огонь.

Если у тебя ядро версии 3.x (не помню в какой именно исправили 12309), то рекомендую обновить ядро.

Если уже 4.x, то рекомендую переконфигурить ядро снуля. Ну, то есть начиная с make defconfig .

Это как греться у костра и смотреть на огонь.

Ну так вечно можно смотреть на 3 вещи: на воду, на огонь, и как компилируется Гента. Проверено.

Проверь текущий IO планировщик. Поставь CFQ. Или пропатчи ядро и поставь BFQ.

Угу, на паре моих тестовых серверов I/O просел после этого в 4 раза, спасибо. Ты бы хоть объяснял сначала человеку что делает эта опция и чем это может грозить 🙂

У меня ничего никуда не просело. Человеку нужна отзывчивость системного gui, серверные критерии тут как бы не в тему.

Читайте также:  Поменять права для файла linux

Разъясняю, если тебе лень гуглить — если у него старый контроллер SATA(не AHCI) и там нет NCQ, то при попытке многопоточного вывода в однопоточную очередь команд будет просадка и по throughtput и по latency. Из-за последнего — станет ЕЩЕ ХУЖЕ!

старый контроллер SATA(не AHCI) и там нет NCQ

Ну, о такой жести я не подумал, каюсь.

Да нет проблем, я тоже повёлся на эту опцию и удивлялся, почему это по дефолту не включили, клёво же. А потом наступил на грабли(хорошо хоть хватило ума делать это на тестовом сервере) и погуглил.

Тогда пересобрать два раза.

Все тормозит это очень абстрактно, нужны какието численные данные для понимания сути проблемы.

Что с RAM/SWAP ? (сколько, сколько занято, свободно, используется)

pf-kernel с BFQ вместо планировщика хорошо исполняет роль плацебо, мне помогло.

Выложи выхлоп dmesg на какой-нибуть pastebin.

для большей ясности:

Что на зеркало пенять, коли рожа крива. Это я про то, что не в ядре дело, а в файловой системе ext, которая по себе глючное *овно.

удаление не самое то что луче мерить

Нужно другое ядро.

Чтобы тормозило не только io, а вообще всё

Нет софта/драйверов — нет тормозов))

Что у вас тормозит на FreeBSD? Лично я ощущаю нехватку процессорной мощности двухъядерного AMD Athlon X2 3800+ для компиляции современного ПО и 3,7 ГБ RAM ОЗУ тоже не так уж и много (диск с ZFS).

всем спасибо за бурную дискуссию!

— собрал новое ядро 4.9.4-gentoo с BFQ планировщиком

— обновил мир, который и так был не очень старый

визуально немного стало получше, но тормоза еще есть.

например включаю комп, открываю хром в котором

40 вкладок, сразу же открываю проводник dolphin и вижу только рамку, через 20 секунд появляется его содержимое

раньше такого не было

это ведь тоже диск? кэш там. и пр.

если не сложно, прогоните этот тест http://blenchmark.com/

и выложите на тот же сайт

это аддон теста для блендера

Это вообще не дело. Вы опцию blk-mq пробовали?

если не сложно, прогоните этот тест

А смысл? Чем будем меряться?

Судя по всему у вас нехватка RAM что приводит к свопу, а по скольку в конфиге ядра выключены опции:

Но это все догадки, нужно смотреть числа

что это? подробнее

это все при простое

когда это лучше снять? в момент 20сек тормоза я могу не успеть? что первее снять?

Хмм, как видно со свопом проблем нету — памяти много и своп вообще не используется. Перегрузки по IO тоже нету (WA в пределах 0-1) и вобщем система не загружена, все должно «летать» при таких показателях.

Возможно проблема гдето в другом месте (не в производительности, а гдето чтото лочит процессы — например какойнибудь левый бекрезолв при логировании или еще чего). Я бы попробовал найти какуюто програмку попроще которая «тормозит» и протрекал бы ее системные вызовы и где она зависает (через strace) — возможно у вас просто тормозит X11 сервер (например глючит видео карта/драйвер или закончилась VRAM в результате чего очень медленно выделяются ресурсы композитором для новых окон).

тормоза остались

это всегда проявляется при emerge —sync , тогда тормозит, например, браузер, и не грузит ничего, не прокручивает страницы, но вкладки перещелкивает.

как это победить?

системный диск и home у меня — ssd

Kroz Pinkbyte Lifun

Источник

при дисковых операциях все тормозит

Когда что-нибудь активно читаешь/копируешь на жесткий диск — начинаются нереальные тормоза в приложениях. Слайдшоу. Особенно плохо становится на торрентах и SDC. Как можно это поправить?

(Arch, i686 PAE, ext4, Intel C2D E7300, SATA. Сменить дистрибутив, архитектуру, процессор, жесткий диск, файловую систему, голову, руки и ноги — не предлагать).

kernel bug #12309

попробуйте сменить планировщик
BFQ например поставить, или если диском поддерживается NCQ — noop

от тормозов еще помогает BFS за счет более эффективного распределения времени процессора

> kernel bug #12309

и, если коротко, что теперь с этим делать? прочитать всю дискуссию в багзилле ниасилил, там 100500 🙁

Читайте также:  Хочу переустановить windows 10 как сохранить лицензию касперского

> BFQ например поставить, или если диском поддерживается NCQ — noop

от тормозов еще помогает BFS за счет более эффективного распределения времени процессора

посмотрел репозиторий, упал духом. Нету там BFQ + BFS + PAE. Руками собирать. Несколько дней читать прклятые маны по ручной сборке ядра. НЕЕЕЕЕТ!

Добрые люди, у кого ArchLinux + BFS/BFQ + PAE, выложите скрипт для компилирования, пожалуйста 🙁

Источник

Почему дисковая система Linux тормозит?

Давненько зрел у меня бугурт по поводу 12309 и его родственникам, наконец решился сформулировать вопрос, поделиться болью, а заодно и спросить ЧЯДНТ.

Итак, СКОРОСТЬ РАБОТЫ С ДИСКОМ.

Исходные данные: копирование одного и того же большого файла в пределах одного и того же NVME-накопителя на одном и том же компе с 16-тью гигами DDR4 ОЗУ.

Linux Arch, Kernel 4.10 (а вообще насрать, на любом ведре так) 64 bit, ext2, Xfce4: https://pp.userapi.com/c637331/v637331443/337aa/rsaPGTZfh64.jpg — начинается со 150 Мб\с, к концу копирования падает до 50 Мб\с. От ФМ не зависит, в терминале и mc скорость та же самая, с blk-mq игрался.

На других девайсах ситуация такая же самая, не зависит от дистра, DE, скорости носителя и тд. Суть: никсы медленнее виндов. Я не фанат винды, но хочу понять.

Вут? Настройки какие-то кулхакерсие прописывал куда-нибудь? И для начала скорость блочного устройства проверь через dd bs=1M status=progress. У меня запись даже мелких файлов (исходники хромиума) 750мб/c ext4, 350мб/c udf, 140мб/c на убогом ntfs-3g.

ntfs — юзернейм. Сорян, виндовое прошлое 🙂

Файл немного другой, ибо на линуксовом разделе места маловато. Скорость уже чуть повыше, но блин, 425 против 1600.

Копирование в пределах одного диска медленнее, он же читает и пишет одновременно. Положи входной chromiumos_image.bin на рамдиск (тупо кинь в /dev/shm).

Чтобы локализовать падение скорости от фс, попробуй писать напрямую на блочное устройство /dev/nvme0n1pX (отрежь отдельный раздел).

Повторюсь, ntfs-3g сосёт капитально. Если входной файл на ntfs, то он может просто читаться настолько медленно.

Да ты прав. В\с рамдиск копирование происходит значительно быстрее. Остается открытым вопрос почему винда в пределах своей ФС копирует на скорости 1.6 гб\с, Арч на ext2 МАКСИМУМ 450 мб\с, и нельзя ли это как-то растюнить?

Попробуй (только не записывай при таких настройках ничего на флэшку, будет 12309 xD):

Ещё ext4 без журнала или f2fs может быть быстрее чем ext2, но не проверял.

Это всё потомучто микрософт проплатил производителям дисков и теперь linux в пролёте. Там какие-нибудь скрытые функции которые никто никогда не угадает так как этотайна. ext4 всё таки быстрее ext2 процентов на 30%.

Проверь на reiserfs. Говорят это самая скоростная файловая система на linux.

Ты шкальникам винды особенно не верь, они обычно при копировании врут.

Windows показывает усредненное с учетом кэширования. После того, как копирование «закончится» диск еще несколько секунд будет писать.

Windows 10 64 bit, ntfs раздел: (cut) — 1.26 Гб\с

Замерял поверенной линейкой?

Ыыы! На лицо неправильно поставленный эксперимент и как слелствие неверные выводы.

Наркоманштоле ? Во-первых, файловый менеджер сам это пишет, во-вторых если тебе упорышу надо линейка дабы уловить разницу между тремя секундами и двадцатью — то прими разупорин.

Какой нахрен эксперимент ? Я последовательно загрузился в две системы и копировал один и тот же файл в пределах фс, а теперь хочу понять как пофиксить тормоза в никсах. Распарсил суть задачи, или разупорин с предыдущего абзаца еще не подействовал ?

Windows показывает усредненное с учетом кэширования. После того, как копирование «закончится» диск еще несколько секунд будет писать.

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

Ты шкальникам винды особенно не верь, они обычно при копировании врут.

Та не, общее время копирования с виндами все же поменьше будет, осталось понять кто виноват, фс, нвм, или еще шото.

echo 100 >/proc/sys/vm/dirty_ratio echo 1048576 >/proc/sys/vm/dirty_background_bytes tee /proc/sys/vm/dirty_*_centisecs ★ ( 01.03.17 12:50:58 )

Ты сравниваешь тёплое с длинным при этом ещё и разными средствами измерения.

Читайте также:  Microsoft edge для windows 10 x64

Очень ценная информация. Только ты опираешься на показания разных файловых манагаров (ОЙ) с разными файловыми системами (ОЙ) в совсем разных ОСях (ОЙ) с непонятно какими настройками (ОЙ).

Уж кто бы заикался о наркомании. В науке твой подход именуют «неправильно поставленный эксперимент». А результаты таких экспериментов не говорят ни о чем.

Вероятно у тебя интеловский контроллер NVMe, для которого не существует нормальных дров под линукс .

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

Чтобы не слать его на гарантию с претензиями на несоответствие характеристикам, я перепроверил свои претензии на другой ОС. Претензии не подтвердились, вторая ОС работает на обещанной производителем скорости. Теперь я пытаюсь понять, что мне сделать с первой ОС дабы она работала на той же скорости.

И естественно я опираюсь на реальную работу реальных программ, в число которых входит и ФМ тоже. И я там выше написал, что дело не в ФМ, ибо mc в терминале копирует с такими же самыми тормозами. dd и hdparm -t это конечно хорошо, но мне надо работать.

Так что никаких экспериментов.

Не. NVMe — эт всего лишь протокол, типа нашего древнего AHCI. Поддержка в ведре есть очень давно, я видел эти опции еще при сборке 3.4.

Сам носитель подключается по шине PCI-E, дрова вроде стандартные.

Я намекал на Intel Rapid Storage Technology. Если честно — я не помню в какое место они ее засунули, но жизнь портит.

ЗЫ: У меня самсунговский NVMe.

Аналогично, Самсунг 950.

Засрется мой Рач, попробую вернуться на F2FS, задалбывает создавать доп. раздел под /boot, ибо EFI не может в ф2фс 🙁

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

Любое железо <неподдерживаемое>/ <неполностью поддерживаемое>LInux-ом ВНЕЗАПНО не будет показывать свои номинальные характеристики заявленные производителем и файловая любая подсистема ядра Linux здесь абсолютно не при чём.

А прежде чем ныть на «не работает на той скорости, которую мне обещал» сперва хотя-бы grep -ают в / usr/src/linux/Documentation/ на предмет конкретной железки.

Всегда твой. С любовью. Капитан.

Ты сабж-то читал ?

При чем здесь поддерживаемое железо ?

Если ты железом называешь шину PCI-E, то оно полностью поддерживается Linux.

Если ты железом называешь NVM-протокол, то он тоже полностью поддерживается Linux.

Да системе вообще насрать какое там железо стоит на том конце PCI-шины, хоть SSD, хоть набор планок памяти ОЗУ, хоть массив microSD-карточек. Задача этого железа — отвечать по NVM.

А… Значит мопед не твой а ты вообще только объявление разместил. Ну ок.

Это всё потомучто микрософт проплатил производителям дисков

Несколько лет назад Самсунг был пойман за руку на этом деле. Они делали на своих ССД что-то специфическое, если файловая система — НТФС.

Нет, ну по сути в оптимизации железа под софт нет ничего плохого. Я не спец в устройствах ФС, но мне кажется что например если средства этой ФМ позволяют сбрасывать очередь буферов раз в пять минут не трогая проц — то это можно использовать. Я например говорю. Если ФС использует блоки с длиной прибитой гвоздями, например по 64 кб, то вполне логично надрачивать железку на использование именно 64 кб блоков априори, а не каждый раз пересчитывать длину пришедшего блока (подобно как в MySQL поле TEXT vs VARCHAR). Чем меньше скорость, тем эти задержки незаметнее: 10% просадка скорости когда максимальная 550 Мб\с — не так заметно, как когда максимальная — 2500 Мб\с 🙂

И вполне логично что такая оптимизация будет сделана под одну ФС, которая кстати самая популярная на рынке, вместо зоопарка ФС которые даже в сумме не смогут конкурировать по популярности со спермоФС.

Источник

Оцените статью