Linux swap - коригування налаштувань ядра VM


9

Перш ніж прочитати це, зауважте, що я розумію переваги кешування. Мені знайома догма про те, що невикористаний баран - це баран.

Це питання, яке я адаптував із попереднього запитання:

видалення операційного кешеного файлу Linux

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

Я хотів би дізнатись, чи маєте хтось із вас досвід коригування значення за замовчуванням 60 у наступному файлі (це трапляється на сервері Ubuntu):

/proc/sys/vm/swappiness  

І якщо так, то, що впливає, ви бачили. Якщо я заміню значення за замовчуванням 60 на 30, я побачу менше заміни та набагато більше повторного використання кеш-пам'яті? Чи підходити я до 0 або 100, щоб зменшити заміщення та збільшити повторне використання кешу?

Нарешті, хтось знає, чому за замовчуванням встановлено 60?

ПРИМІТКА: Якщо він близький до 0, Linux вважатиме за краще зберігати програми в оперативній пам’яті, а не збільшувати кеші. Якщо це близько до 100, Linux вважатиме за краще заміняти програми та збільшувати кеші якомога більше. За замовчуванням - здорові 60. - Дякую за посилання нижче, 3dInfluence.

Відповіді:


6

Редагувати: Відповідь переписав, щоб вона була коротшою і зрозумілішою, сподіваюся :)

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

Тож більше до вашого питання. Контроль своловості, коли підсистема VM відновлює сторінки обробних таблиць, розпаковуючи та підключаючи їх до сторінки, так само змінюючи їх. Ця настройка працює, повідомляючи підсистемі VM шукати сторінки для обміну, коли% пам'яті, відображеної на таблиці сторінок обробки + значення заміщення становить> 100. Таким чином, встановлення 60 призведе до того, що система почне видаляти застарілі сторінки зі сторінки процесу таблиці, коли вона використовує більше 40% пам'яті вашої системи. Якщо ви хочете дозволити вашим програмам використовувати більше пам’яті за рахунок кешу, ви хочете знизити значення простоти. Ви також хочете переглянути / proc / sys / vm / min_free_kbytes та / proc / sys / vm / vfs_cache_pressure. Оскільки це також дозволить контролювати, скільки пам'яті зберігається в резерві та наскільки агресивне кешування.


@ 3dinfluence - я працював над тією статтею, на яку ви згадувались вище. Чудова респект!
Патрік Р

1
linuxinsight.com/proc_sys_vm_hierarchy.html дасть вам речення або два щодо того, що робить кожен з налаштувань. Але я отримав цю інформацію про те, як працює свобідність із книги під назвою "Налаштування продуктивності для серверів Linux"
3dinfluence

+1 дякую 3вплив. Поки що ця книга була надзвичайно навчальною.
Патрік Р.

Це чудово .... чи вдалося ви покращити продуктивність своєї заявки?
3вплив

Мені вдалося покращити продуктивність. Також я виявив, що під час налаштування допомагає наступна команда: # sysctl -w vm.swappiness = 40
Патрік R
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.