J; мають 16 ГБ оперативної пам’яті

Я вже багато разів читав, що основним правилом, коли йдеться про обмін місцями, є подвоєння обсягу фізичної оперативної пам'яті. Однак 32 ГБ здається БАГАТО. Мені це потрібно? Чи потрібно мені це взагалі з цією великою кількістю фізичної оперативної пам'яті?

Це повністю залежить від того, що ви плануєте робити з машиною. Наприклад, якщо це був SAP-сервер, тоді так, я б додав обмін 32 Гб (у нас працюють коробки з обміном 128 ГБ і свопом 32 ГБ). Якщо ви маєте справу з великими зображеннями та відео, має сенс трохи помінятися. 32 ГБ, мабуть, надмірно.

Однак я б не сказав нульовий обмін.

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

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

Ось дуже гарна рекомендація від RedHat: Рекомендована система обміну місцями

Витяг із того ж посилання:

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

Поточна таблиця (станом на грудень 2017 р.):

Арг. Відповіді на цю публікацію дуже неправильні, і це відображається як один із перших результатів пошуку в Google за запитом "Скільки свопів?"

По-перше, хорошим орієнтиром є поширені запитання про обмін Ubuntu

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

Іноді велика програма (наприклад, OpenOffice, Neverwinter Nights або відеоредактор) змушує всю систему потребувати більше пам'яті. Велика кількість сторінок, що використовуються цими великими програмами під час запуску, може використовуватися лише для ініціалізації, а потім більше ніколи. Система може міняти місцями ці сторінки та звільняти пам’ять для інших програм або навіть для кешу на диску . У цих випадках підкачка буде використана, щоб допомогти системі керувати будь-яким додатковим навантаженням.

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

Поширені запитання щодо обміну Ubuntu обговорюють це злегка в розділі Що таке swappiness і як я можу це змінити? Типовим для системи Ubuntu є 60, тоді як поширені запитання рекомендують значення 10 для настільного комп’ютера.

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

Можливо, ні. Якщо ви плануєте перевести комп’ютер у сплячий режим (призупинити на диску), вам знадобиться принаймні 16 ГБ. Якщо ви не перебуваєте в сплячому режимі, просто залиште кілька гігабайт для обміну (макс. Від 4 до 8)

З досвіду я можу сказати таке:

Що стосується того, що я бачив, використовуючи 4 Гб оперативної пам'яті протягом 3 років, Ubuntu використовував підкачки близько 60 Мб, але лише під час дуже важких завдань. Кілька тижнів тому я почав користуватися комп'ютером із 16 Гб оперативної пам'яті, і обмін своп назавжди становив 0%. Я виконував кілька компіляцій, рендерінг відео та інші інтенсивні завдання. Ніколи не було змін обміну. Навіть 1Kb зміни.

В основному, в Ubuntu, чим більше у вас оперативної пам'яті, тим менша ймовірність використання або необхідності обміну завданнями. 16 ГБ оперативної пам'яті або навіть 8 ГБ оперативної пам'яті більш ніж достатньо. Я зробив це з 16 ПК на 16 ГБ Virtualbox (кожен від 1 ГБ до 2 ГБ оперативної пам'яті). Я зібрав і відтворив відео 720p, і навіть за цих умов обмін не змінився.

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

Інша деталь полягає в тому, що деякі (не всі) програми завжди змусять читати з підкачки. Отже, мати трохи - це добре. Повністю відключити - це дуже погано, якщо у вас закінчиться пам’ять або OOM. На даний момент, якщо у вас немає обміну, ядро ​​не може міняти місцями використання різних додатків оперативної пам'яті, і в кінцевому підсумку це вбиває менш використовувані програми.

Якщо це допомагає вам приймати рішення на робочому столі, після оновлення цієї відповіді протягом 4 років я використовував 16 ГБ, 32 ГБ і тепер 64 ГБ оперативної пам’яті. Обмін лише 128 МБ показав, що мені не потрібен більший обмін, якщо я не хочу спляти . Я використовував хмару, lxc, virtualbox, wine тощо. Я відтворював відео з openshot, kazam, ручним гальмом, зухвалістю. Я використовував gimp, блендер, Inkscape і навіть весь набір LibreOffice. Я навіть грав у Steam, і ні в одному з цих сценаріїв обмін не використовувався. Звичайно, він з часом звикне якось використовувати повну кількість барана, але загалом, чим більше у вас барана, тим менше торгівлі вам знадобиться.

Тільки мої 2 центи.

Ні, вам не потрібно 32 ГБ, якщо ви не використовуєте такі функції, як призупинення на диску.

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

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

Якщо ваша оперативна пам’ять перевищує 1 ГБ, цього зазвичай достатньо для Ubuntu. Правило "Обмін = RAM x2" застосовується до старих комп'ютерів з 256 або 128 МБ оперативної пам'яті.

Отже, 1 ГБ обміну, як правило, достатньо для 4 ГБ оперативної пам'яті. 8 ГБ було б занадто.

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

Для загального принципового правила, скільки угод слід укласти, прочитайте наступне:

У вашому випадку я б сказав, що 4 ГБ було б достатньо, щоб відповідати вашій оперативній пам'яті.

Якщо ви хочете скористатися режимом глибокого сну, все, що вам потрібно, - це поміняти місцями, це марна трата місця на вашому жорсткому диску.

Якщо ви використовуєте режим глибокого сну, ваша торгівля повинна мати принаймні таку ж суму, як і ваш фізичний баран.

У мене є ноутбук з 4 ГБ оперативної пам’яті та Ubuntu 16.04. Після завантаження він споживає близько 1 ГБ оперативної пам'яті, а Inkscape (наприклад) не працює (системний монітор показує більше 50% доступної оперативної пам'яті). Inkscape аварійно завершує роботу Після застосування файлу підкачки він працює належним чином, навіть без використання жодного байта підкачки.

більше місця
Тому я рекомендую розділ підкачки (або файл підкачки). Щодо розміру, ви можете використовувати правило david6.

Навіщо мені обмін?

Програми, що споживають пам’ять Іноді велика програма (наприклад, LibreOffice, Neverwinter Nights або відеоредактор) змушує всю систему потребувати більше пам'яті. Велика кількість сторінок, що використовуються цими великими програмами під час запуску, може використовуватися лише для ініціалізації, а потім більше ніколи. Система може міняти місцями ці сторінки та звільняти пам’ять для інших програм або навіть для кешу на диску. У цих випадках підкачка буде використана, щоб допомогти системі керувати будь-яким додатковим навантаженням.

Hibernate (призупинити на диску) Функція сплячого режиму (призупинити на диск) записує вміст оперативної пам'яті в розділ підкачки перед вимкненням машини. Тому ваш розділ підкачки повинен бути принаймні рівним розміру вашої оперативної пам'яті. Реалізація сплячого режиму, яка зараз використовується в Ubuntu, swsusp, вимагає обміну або призупинення розділу. Не вдається використовувати файл підкачки в активній файловій системі.

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

Оптимізація використання пам'яті Механічні жорсткі диски значно повільніші за оперативну пам'ять (SSD - твердотільні накопичувачі - зберігання не таке повільне, як фізичні, але менше, ніж оперативна пам'ять), коли вам потрібен файл (незалежно від того, чи це файл, схожий на відео). такі файли, як Firefox або бібліотеки), ядро ​​Linux зчитує файл з оперативної пам'яті та зберігає його в цій пам'яті. Тож наступного разу, коли вам це буде потрібно, це вже в оперативній пам’яті, і доступ до даних набагато швидший. Частини оперативної пам'яті, які пришвидшують читання диска, називаються "кешованою пам'яттю". Ви помітите, що вони дуже сильно впливають на швидкість реагування. Ядро Linux автоматично переміщує оперативну пам'ять, зарезервовану програмами, але не використовувану насправді, на підкачку, щоб краще розширити кеш-пам'ять.

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

Скільки мені потрібно обміну?

Для фізичної пам’яті менше ніж 1 ГБ (ОЗП) настійно рекомендується, щоб обмінний простір був принаймні рівним обсягу оперативної пам’яті. Крім того, рекомендується максимально обмежити обмінний простір до подвоєного обсягу оперативної пам'яті, залежно від обсягу дискового простору, доступного системі через зменшення віддачі.

Для більш сучасних систем (> 1 ГБ) ваш обмінний простір повинен бути принаймні рівним розміру вашої фізичної пам'яті (ОЗУ), "якщо ви використовуєте режим глибокого сну", інакше вам потрібно мінімум раунду (sqrt (RAM)) і максимум. вдвічі більше оперативної пам'яті. Єдиним недоліком того, що у вас є більше місця для обміну, ніж ви насправді будете використовувати, є дисковий простір, який ви збираєтеся зарезервувати.

"Зменшення віддачі" означає, що якщо вам потрібно більше місця для обміну місцями, ніж удвічі більше вашого обсягу оперативної пам'яті, вам краще додати більше оперативної пам'яті, оскільки доступ до жорсткого диска приблизно на 10³ повільніший, ніж ваш обсяг оперативної пам'яті. Таким чином, доступ до оперативної пам'яті займе 1 секунду займає більше 15 хвилин! І навіть більше хвилини на швидкому твердотільному накопичувачі (SSD) .