Чому має сенс кешувати свопом?


9

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


Ви, пані / сер, отримуйте від мене додаткові бали за свої запитання. Бажаю, щоб я міг проголосувати двічі.
Елі Фрей

Відповіді:


12

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


2
Це майже рівнозначно кешованому, правда, чи не так? Я маю на увазі, WRT система управління пам'яттю ядра, "кешована" означає "як на диску, так і в оперативній пам'яті", правда?
SamB

0

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


0

Сенс дублювання сторінок між свопом і оперативною пам’яттю полягає в тому, щоб не чекати диска, якщо:

  1. Щось потрібно прочитати з них

  2. Їх потрібно виселити, щоб звільнити місце для чогось іншого

Якби вони були лише в свопі, випадок 1. означав би чекати, коли вони прийдуть з диска; якби вони були лише в оперативній пам’яті, випадок 2. означав би чекати, поки вони вийдуть на диск.

(Звичайно, випадок 2 насправді трохи складніший, оскільки вилучити такі сторінки, очевидно, дешевше, тому ядро, ймовірно, виселяє їх переважно, але справа має бути зрозумілою.)

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.