Тут, в Ubunlog Ми присвячуємо себе - або намагаємося присвятити себе - всім користувачам, і це включає дуже різні конфігурації обладнання. І певним чином нам подобається думати, що за допомогою посібників, які ми показуємо тут, ми певним чином сприяємо покращенню загального досвіду користувача в цьому дистрибутиві, який нам так подобається (у будь-якому його варіанті), тому ми часто публікуємо посібники для отримати найкращі показники можливо, особливо в більш скромному обладнанні.
Тепер, не рухаючись далі, ми покажемо Як налаштувати використання віртуальної пам'яті в Ubuntu, таким чином, щоб уникнути того, що врешті-решт це перетворюється на перетягування і погіршує продуктивність, ніж було б без нього. І це те, що, хоча ідея використання файлу або розділу підкачки сама по собі не погана, а навпаки, якщо вона погано реалізована, вона може спричинити надмірне використання жорсткого диска, набагато повільніше, ніж Оперативна пам'ять.
Тому використання розділу підкачки повинно обмежуватися ситуаціями, в яких немає альтернативи, крім як використовувати його, і в цей час він буде підтримувати основну пам'ять (це оперативна пам'ять). Якщо замість цього ми використовуємо його постійно, іноді навіть до оперативної пам'яті, наша продуктивність буде покарана. Подивимось тоді Як налаштувати використання віртуальної пам'яті в Linux за допомогою команди Swappiness.
У нашій операційній системі створення віртуальної пам'яті зазвичай здійснюється під час процесу встановлення, тоді ми визначаємо кореневий розділ (/), розділ зберігання (/ home) та розділ обміну або swap, який зазвичай реалізується на розділі / dev / sda5. Параметром ядра, який керує використанням віртуальної пам'яті, є згадана раніше обмінність, і в основному ми можемо сказати, що вона відповідає за визначення того, як часто ми отримуємо доступ до розділу підкачки та скільки вмісту копіюємо в нього, через аргумент, який варіюється між 0 і 100.
Значення за замовчуванням для інсталяції Linux - 60, але як легко припустити, не всі апаратні конфігурації однакові, і тому немає сенсу підтримувати цей рівень незалежно від того, який у нас. Це значення зберігається у файлі / proc / sys / vm / swappiness, і ми можемо перевірити це за допомогою:
cat / proc / sys / vm / swappiness
Це майже напевно буде 60, і якщо це так, нам, можливо, доведеться його змінити, особливо якщо ми маємо більше 4 ГБ оперативної пам’яті, оскільки в цьому випадку нам зазвичай потрібно мало або взагалі не потрібна віртуальна пам’ять. Але перед тим, як пояснити, як це змінити, давайте трохи подивимось на логіку всієї цієї віртуальної пам'яті та мінливості; І це те, що, якщо воно залишається за замовчуванням на 60, ядру повідомляється, щоб він використовував віртуальну пам’ять, коли наша оперативна пам’ять має 40 або менше відсотків вільної ємності. Таким чином, якщо ми встановимо обмінність рівною 100, віртуальна пам'ять буде використовуватися весь час, і якщо ми залишимо його на дуже низькому значенні, він буде використовуватися лише тоді, коли наша оперативна пам’ять скоро закінчиться. Мінімально можливим є 1, оскільки, залишаючи значення рівним 0, ми повністю деактивуємо віртуальну пам’ять.
Отже, що нам потрібно зробити, це ввести наступну команду з терміналу (Ctrl + Alt + T):
sudo sysctl vm.swappiness = 10
Тепер значення обмінність залишиться на рівні 10, і тоді віртуальна пам’ять навряд чи буде використана. Після зміни цього значення немає необхідності перезавантажувати комп'ютер, але набирає чинності негайно, і насправді, якщо ми скинемо значення, воно буде знаходитися на рівні 60, як і раніше, тому що нам потрібно буде залишити цю зміну назавжди встановленою. Для цього, як тільки ми використовуємо наш комп’ютер і переконуємось, що все в порядку з новим значенням swappiness, ми виконуємо:
sudo nano /etc/sysctl.conf
після чого шукаємо текст vm.swappiness = і додаємо потрібне значення після символу "=". Ми зберігаємо файл, і тепер, зміна буде постійною.
Відмінне пояснення !!! Дуже хороша стаття !! У моєму випадку, коли я вношу цю зміну при перезапуску ноутбука, він повертається до початкового значення 60, це схоже на те, що файл зберігається, але при перезавантаженні він "відформатований". Я вже все без успіху пробував, ти уявляєш, що може відбуватися? У мене 1 Гб ОЗУ.
Спасибі!
Привіт Сезаре, я рада, що тобі це було цікаво.
Якщо значення втрачається під час перезавантаження системи, я б подивився /etc/rc.local та інші сценарії запуску (вони змінюються залежно від кожного дистрибутива), оскільки може бути, що це встановлено під час запуску.
Привіт!
Дуже гарне пояснення!
Як доповнення, ось ще одна цікава про своп і своппі в Linux:
http://www.sysadmit.com/2016/10/linux-swap-y-swappiness.html
Ви не знаєте, наскільки це добре для мене, дякую
З повагою,
У моєму /etc/sysctl.conf немає тексту vm.swappiness =, я добре його шукав, файл невеликий. Якщо вам не потрібно його додавати, у статті сказано, що потрібно знаходити та модифікувати значення, а не додавати рядок.
З повагою,
У моєму /etc/sysctl.conf немає vm.swappiness = text. Якщо вам не потрібно додавати його, у статті сказано, що потрібно знаходити та модифікувати значення, а не додавати рядок.
Ви повинні його створити, в кінці файлу ви ставите vm.swappiness = 10 і все.
Якщо це не економить на перезапуску, це може бути через те, що ви не використовуєте команду sudo.
Ubuntu: sudo gedit /etc/sysctl.conf
Xubuntu: sudo pad /etc/sysctl.conf
Відмінна стаття. Дякую!
Можна поставити нуль. які проблеми можуть виникнути?
Привіт і спасибі Віллі Клу за вашу статтю, яка чітко пояснює мені процес використання пам’яті swapp, але це викликало у мене величезні сумніви, оскільки при вході в термінал та виконанні вказаних вами команд він повертає повідомлення із повідомленням:
bash: cat / proc / sys / vm / swappiness: Файл або каталог не існує
Що може бути причиною цього?
Ви писали погано. Ви не поставили пробіл після "кішки".
чудово, ми ділимося цим у групі ubuntu іспанською https://t.me/ubuntu_es
Чудово, це працювало для мене на Debian 10.9
Я інформатик, я встановив і протестував кілька дистрибутивів, найкращим варіантом налаштування заміни є запис у терміналі
sudo nano /etc/sysctl.conf
після натискання Enter запишіть ключ і введіть ще раз, а потім напишіть в кінці наступного рядка
vm.swappiness = 0
потім одночасно натисніть ctrl та клавішу x, це породжує запитання, що якщо ви хочете зберегти нове речення у файлі, натисніть клавішу Y, щоб сказати так і n, щоб воно не зберегло його
Чому я написав нуль 0? Тести вже були проведені на різних комп’ютерах, які я запрограмував, тому що це найкращий варіант, оскільки він використовує чию сторінку, але, наприклад, якщо chromium або браузер відкривається відкриттям Facebook, оскільки обмінна пам’ять (обмін або також називається пагінацією) збільшиться але коли сеанс закрито, а браузер або будь -яка програма, оскільки пам’ять підкачки (підкачка) зменшить звільнення жорсткого диска, що корисно, щоб уникнути його пошкодження, пам’ятайте, що пам’ять підкачки або підказка (підкачка) використовує жорсткий диск.
Я не зрозумів, вибачте. Якщо за замовчуванням 60 для активації підкачки з відсутністю 40 або менше, при встановленні параметра на 10. Чи не буде вона активована за допомогою 90 вільних оперативної пам’яті? Уповільнюючи обмін даними