logo

Що таке треш?

В інформатиці, треш це низька продуктивність системи віртуальної пам'яті (або підкачки), коли ті самі сторінки завантажуються неодноразово через брак основної пам'яті, щоб зберегти їх у пам'яті. Залежно від конфігурації та алгоритму фактична пропускна здатність системи може знизитися на кілька порядків.

В інформатиці, обмолот виникає, коли ресурси віртуальної пам’яті комп’ютера надмірно використовуються, що призводить до постійного стану підкачки та помилок сторінок, перешкоджаючи більшій частині обробки на рівні програми. Це призводить до погіршення продуктивності комп’ютера або його збою. Ситуація може тривати нескінченно довго, поки користувач не закриє деякі запущені програми або активні процеси не звільнять додаткові ресурси віртуальної пам'яті.

Щоб більш чітко знати про трешинг, по-перше, нам потрібно знати про помилку сторінки та заміну.

    Помилка сторінки:Ми знаємо, що кожна програма поділена на декілька сторінок. Помилка сторінки виникає, коли програма намагається отримати доступ до даних або коду у своєму адресному просторі, але на даний момент вони не знаходяться в оперативній пам’яті системи.Обмін:Кожного разу, коли трапляється помилка сторінки, операційна система намагатиметься отримати цю сторінку з вторинної пам’яті та спробувати замінити її однією зі сторінок у оперативній пам’яті. Цей процес називається свопінгом.

Обмолот коли помилка сторінки та заміна відбувається дуже часто з вищою частотою, і тоді операційній системі доводиться витрачати більше часу на заміну цих сторінок. Цей стан в операційній системі відомий як thrashing. Через трешінг використання ЦП буде зменшено або незначним.

Що таке треш

Основна концепція полягає в тому, що якщо процесу виділено занадто мало кадрів, то буде занадто багато і занадто часті помилки сторінки. Як наслідок, ЦП не виконуватиме жодної важливої ​​роботи, а використання ЦП різко впаде.

Довгостроковий планувальник потім намагатиметься покращити використання ЦП, завантажуючи в пам’ять ще кілька процесів, тим самим підвищуючи ступінь мультипрограмування. На жаль, це призведе до подальшого зниження використання ЦП, викликавши ланцюгову реакцію вищих помилок сторінки з подальшим збільшенням ступеня мультипрограмування, що називається трешингом.

Алгоритми під час трешингу

Щоразу, коли починається трешинг, операційна система намагається застосувати глобальний алгоритм заміни сторінки або локальний алгоритм заміни сторінки.

1. Глобальна заміна сторінки

Оскільки глобальна заміна сторінки може призвести до будь-якої сторінки, вона намагається принести більше сторінок щоразу, коли виявлено помилку. Але що насправді станеться, так це те, що жоден процес не отримає достатньо кадрів, і, як наслідок, обмолот буде збільшуватися все більше і більше. Таким чином, глобальний алгоритм заміни сторінки не підходить, коли відбувається збій.

2. Заміна локальної сторінки

На відміну від глобального алгоритму заміни сторінок, локальна заміна сторінки вибере сторінки, які належать лише цьому процесу. Тож є шанс зменшити обмолот. Але доведено, що використання заміни локальної сторінки має багато недоліків. Таким чином, локальна заміна сторінки є лише альтернативою глобальній заміні сторінки в сценарії побиття.

Причини обмолоту

Програми або робочі навантаження можуть спричинити збій, що призводить до серйозних проблем із продуктивністю, як-от:

  • Якщо використання процесора занадто низьке, ми збільшуємо ступінь мультипрограмування, вводячи нову систему. Використовується глобальний алгоритм заміни сторінок. Планувальник ЦП бачить зменшення використання ЦП і збільшує ступінь мультипрограмування.
  • Завантаження ЦП нанесено на графік залежно від ступеня мультипрограмування.
  • Зі збільшенням ступеня мультипрограмування збільшується і використання ЦП.
  • Якщо ступінь мультипрограмування збільшується далі, починається трішинг, і використання ЦП різко падає.
  • Отже, на даний момент, щоб збільшити використання ЦП і припинити трішки, ми повинні зменшити ступінь мультипрограмування.

Як усунути трешінг

Трешінг має певний негативний вплив на працездатність жорсткого диска та продуктивність системи. Тому необхідно вжити певних заходів, щоб цього уникнути. Нижче наведено такі способи, як вирішення проблеми трішу.

    Налаштуйте розмір файлу підкачки:Якщо системний файл підкачки налаштовано неправильно, у вас також може статися збій диска.Збільште обсяг оперативної пам'яті:Оскільки недостатня кількість пам’яті може спричинити збій диска, одне з рішень — додати до ноутбука більше оперативної пам’яті. З більшим об’ємом пам’яті ваш комп’ютер може легко справлятися із завданнями й не потребуватиме надмірної роботи. Як правило, це найкраще довгострокове рішення.Зменшіть кількість запущених на комп’ютері програм:Якщо у фоновому режимі запущено забагато програм, ваші системні ресурси споживатимуть багато. А системний ресурс, що залишився, працює повільно, що може призвести до збою. Таким чином, під час закриття деякі програми звільняють деякі ресурси, щоб ви могли певною мірою уникнути поразки.Замінити програми:Замініть ті програми, які займають багато пам’яті, еквівалентами, які використовують менше пам’яті.

Техніки запобігання погромам

Заміна локальної сторінки краща, ніж заміна глобальної сторінки, але заміна локальної сторінки має багато недоліків, тому іноді не допомагає. Тому нижче наведено деякі інші прийоми, які використовуються для обробки трешінгу:

1. Модель місцевості

Місцевість – це набір сторінок, які активно використовуються разом. Модель місцевості стверджує, що коли процес виконується, він переміщується з однієї місцевості в іншу. Таким чином, програма, як правило, складається з кількох різних місцевостей, які можуть збігатися.

Наприклад, коли викликається функція, вона визначає нову локалізацію, де посилаються на пам’ять інструкції виклику функції, локальні та глобальні змінні тощо. Подібним чином, коли функція виходить, процес залишає цю локалізацію.

2. Модель робочого набору

Ця модель заснована на вищевказаній концепції моделі місцевості.

Основний принцип стверджує, що якщо ми виділяємо достатньо кадрів для процесу, щоб пристосуватись до його поточної локалізації, він виникатиме помилку лише тоді, коли він переміщуватиметься до якоїсь нової локалізації. Але якщо виділені кадри менші за розмір поточної локалізації, процес неминуче завершиться.

Згідно з цією моделлю, на основі параметра A робочий набір визначається як набір сторінок в останніх посиланнях на сторінку «A». Отже, усі активно використовувані сторінки завжди будуть частиною робочого набору.

різниця між $ і $$

Точність робочого набору залежить від значення параметра A. Якщо A занадто великий, робочі набори можуть перекриватися. З іншого боку, для менших значень A місцевість може бути охоплена не повністю.

Якщо D – загальна потреба в рамах і WSSiрозмір робочого набору для процесу i,

D = ⅀ WSSi

Тепер, якщо «m» — це кількість кадрів, доступних у пам’яті, є дві можливості:

  • D>m, тобто загальний попит перевищує кількість кадрів, тоді відбуватиметься перевищення, оскільки деякі процеси не отримають достатньо кадрів.
  • Д<=m, then there would be no thrashing.< li>

Якщо буде достатньо додаткових кадрів, то в пам'ять можна завантажити ще кілька процесів. З іншого боку, якщо підсумовування розмірів робочого набору перевищує доступність кадрів, деякі процеси потрібно призупинити (викачати з пам’яті).

Ця техніка запобігає збій, а також забезпечує найвищий можливий ступінь мультипрограмування. Таким чином, це оптимізує використання ЦП.

3. Частота помилок сторінки

Більш прямий підхід до боротьби з трешем – це той, який використовує концепцію частоти помилок сторінки.

Що таке треш

Проблема, пов’язана з перетворенням сторінок, полягає у великій частоті помилок сторінок, і, таким чином, концепція полягає в контролі частоти помилок сторінок.

Якщо частота помилок сторінки занадто висока, це означає, що процесу виділено занадто мало кадрів. Навпаки, низька частота помилок сторінки вказує на те, що процес має забагато кадрів.

Можна встановити верхню та нижню межі бажаної частоти помилок сторінки, як показано на діаграмі.

Якщо частота помилок сторінки падає нижче нижньої межі, фрейми можна видалити з процесу. Подібним чином, якщо частота помилок сторінки перевищує верхню межу, процесу можна виділити більше кадрів.

Іншими словами, графічний стан системи повинен бути обмежений прямокутною областю, утвореною на даній діаграмі.

Якщо частота помилок сторінки висока і немає вільних кадрів, деякі процеси можна призупинити, а призначені для них можна перерозподілити іншим процесам. Призупинені процеси можна перезапустити пізніше.