Щоразу, коли вхід / вивід з високим диском є високим, система, як правило, набагато повільніше і менш чуйна, ніж зазвичай. Який прогрес у роботі ядра Linux щодо цього? Чи над цією проблемою активно працює?
Щоразу, коли вхід / вивід з високим диском є високим, система, як правило, набагато повільніше і менш чуйна, ніж зазвичай. Який прогрес у роботі ядра Linux щодо цього? Чи над цією проблемою активно працює?
Відповіді:
Я думаю, здебільшого це було вирішено. Моя продуктивність під великим IO покращилася в 2.6.36, і я очікую, що вона покращиться в 2.6.37. Дивіться ці статті про форонікси .
Ву Фенгуанг та KOSAKI Motohiro на цьому тижні опублікували виправлення, за якими вони вважають, що вони вирішать деякі з цих питань, пов'язаних із чутливістю, і, як вони вважають, "система не відповідає на тиск пам'яті та багато брудних сторінок / записів на запитання". Andreas Mohr, один з користувачів, який повідомив про цю проблему в LKML і перевірив два патчі, застосовані проти vmscan ядра, повідомив про успіх. Проблема Андреаса полягала в тому, що система стала повністю невідповідною (і перехід на VT зайняв 20+ секунд) під час створення файлової системи EXT4, коли твердотільний накопичувач був підключений через USB 1.1. У його системі під час запису 300M з файлу / dev / zero проблема була ще гіршою.
Ось пряме посилання на помилку
Також від Phoronix
На щастя, завдяки нашому тестуванню та звітам інших користувачів Linux, які прагнуть виправити цю проблему, порівняно невеликі виправлення vmscan, які були опубліковані, здаються краще вирішити цю проблему. Користувацький інтерфейс (GNOME в нашому випадку) все ще не є на 100% текучим, якщо система підтримує переважну кількість дискової активності, але це, безумовно, набагато краще, ніж раніше, і що навіть зараз знайдено з ядром Linux 2.6.35.
Також є оголошення про випуск Phoronix 2.6.36
Здається, блокові бар'єри відходять, і це також повинно сприяти їх продуктивності.
На практиці бар'єри мають неприємну репутацію при знищенні продуктивності блоку вводу-виводу, до того, що адміністратори часто спокушаються вимкнути їх та ризикувати. Хоча операції з поміченою чергою, що надаються сучасним обладнанням, повинні досить чітко реалізовувати бар'єри, спроби використання цих функцій, як правило, стикаються з труднощами. Отже, в реальному світі бар'єри реалізуються шляхом простого спуску черги запитів вводу / виводу перед видачею бар'єрної операції, при цьому виконуються деякі операції змивання, щоб змусити апаратне забезпечення фактичної передачі даних у стійкі носії інформації. Операції з виходу з черги зупинять пристрій і вбивають паралелізм, необхідний для повної продуктивності; не дивно, що використання бар’єрів може бути болючим.
Там же є ця стаття LWN про справедливе планування вводу / виводу
Я б сказав, що IO прокинувся як велика справа про час виходу ext4 в 2.6.28. Наступні посилання - на версії Linux Kernel Newbies Kernel, ви повинні переглянути розділи «Блок» та «Файлові системи». Це, звичайно, може бути несправедливим настроєм, або якраз тоді, коли я почав спостерігати за розвитком ФС, я впевнений, що все це покращується, але я відчуваю, що деякі проблеми ext4 "змусили людей важко дивитися на стек IO, або можливо, вони очікували, що ext4 вирішить усі проблеми з продуктивністю, і тоді, коли цього не сталося, вони зрозуміли, що їм доведеться шукати в іншому місці проблеми.
2.6.28 , 2.6.29 , 2.6.30 , 2.6.31 , 2.6.32 , 2.6.33 , 2.6.34 , 2.6.35 , 2.6.36 , 2.6.37