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

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

Коли робочий набір не є істотно більшим за загальну кількість сторінок реальної пам'яті системи, системи віртуальної пам'яті працюють найефективніше, і на обробку помилок сторінки витрачається незначна частина обчислювальних ресурсів. У міру зростання сумарного розміру робочих наборів обробка помилок сторінки залишається керованою, доки зростання не досягне критичної точки, у якій кількість помилок різко збільшується, а час, витрачений на їх обробку, починає перевищувати час, витрачений на виконання обчислень, заради яких була написана програма. Цей стан називається надмірним переміщенням сторінок (). Надмірне переміщення сторінок може виникати в програмі, яка випадково звертається до величезних структур даних, оскільки її великий робочий набір спричиняє безперервні помилки сторінки, що різко уповільнюють роботу системи. Обробка помилок сторінки може вимагати звільнення сторінок, які незабаром доведеться знову прочитати з диска.

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

«Надмірне переміщення» також використовується в контекстах, не пов'язаних із системами віртуальної пам'яті — наприклад, для опису проблем із кешем в обчислювальних системах або синдрому безглуздого вікна в мережах.

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

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

Див. також Накладні витрати (інформатика)

Примітки