Важливість розділу Swap


34
  • Яка мета swap-розділу?
  • Звідки я можу знати, що у мене достатньо просто розділити своп? Не надто багато / мало.

Мій ПК Ubuntu використовується для типових матеріалів:

  • Інтернет (електронна пошта, facebook тощо)
  • Деякі фільми
  • ігри рідкісні

Повідомленням здається, що я ЗАРУШУЮ занадто багато свопів. 3 Гб оперативної пам’яті, 300 ГБ HD та 8 Гб розділ для заміни.
ламкро

2
Додатковий своп, який не звикне, не зашкодить вам, і повернути 1,7% вашого диска, щоб зменшити його, напевно, не варто докладати зусиль. Так, він набагато більший, ніж ви, ймовірно, коли-небудь використовуватимете, я б не переживав про це.
msw

1
Ви також можете бачити це як "майбутні доказовий" своп-розділ, якщо ви коли-небудь додасте додаткову пам'ять у вашій системі, вам не доведеться збільшувати своп ... :)
січня

Відповіді:


15

Роздільна сторінка swap виконує пару цілей.

  • Він служить "резервним" ОЗУ. Тобто, якщо на вашому комп’ютері закінчиться оперативна пам’ять, він буде використовувати область своп як тимчасове джерело більшої кількості пам'яті. Більш конкретно, він буде «поміняти» невикористані елементи з оперативної пам’яті в область swap, щоб залишити вільний простір для додатків, які цього потребують. Це не ідеально, оскільки швидкість передачі даних на жорсткий диск значно нижча, ніж у звичайної ОЗУ. На практиці це означає, що набагато повільніше отримувати інформацію з області заміни.

  • Він використовується, коли комп’ютер сплять. Гібернація передбачає прийняття зображення ОЗУ в його поточному стані (як ISO представляє зображення) і зберігає його в області підкачки. Потім він перезавантажує це зображення, коли комп'ютер перезавантажиться.

  • Щоб бути найбільш корисним, площа заміни повинна бути не менше (RAM * 1,5), хоча рекомендується більше. Наприклад, у моїй системі з 3 Гб оперативної пам’яті у мене є площа заміни 7,2 гб.


Якщо ви не використовуєте щось , ідеально підміняти його на диск і використовувати оперативну пам’ять для речей, якими ви користуєтесь (наприклад, переміщення CUPS або інших демонів, які ви не часто використовуєте для обміну, дає більше пам’яті для кешування диска дані, які насправді багато використовуються).
JanC

-1; "(RAM * 1.5), хоча більше рекомендується" - на настільному ПК? Ви повторюєте загальноприйняту мудрість, яка була брехливою роками.

@ user280493 Варто зазначити, що відповіді було років ... років тому, коли ви коментували.
Крісфоле

7

Це дуже близько до того ж, що і в цьому питанні про "правильний" розмір для swap-розділу. Більшість тієї ж інформації, що міститься у моїй відповіді, стосується - в основному, якщо ви хочете перейти в сплячку, ви, як правило, хочете, щоб ваш обмінний простір був принаймні таким же великим, як ваша оперативна пам’ять, і крім того, що круглий номер, наприклад, 1 або 2 Гб, легко достатній. Оскільки обмін відбувається набагато повільніше, ніж оперативна пам'ять, якщо ви заповнюєте кілька гігабайт свопу, ваш комп'ютер майже напевно став неприпустимо повільним.

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


4

тут дуже глибока інформація про своп

деякі люди кажуть, що вдвічі більше вашого барана, але особисто я рекомендую це:

своп = 1,5 X Всього Рам

Приклад:

якщо у вас є 2Gb оперативної пам’яті -> swap = 1,5 x 2 = 3

PD: Ubuntu Desktop використовує Swap для переходу в сплячку (вимкнено ПК, не потрібно живлення, стан програми збережено). Якщо гібернація важлива для вас, майте більше місця для заміни, тоді таран + swap overflow.


2

freeКоманда може сказати вам , скільки підкачки ви використовуєте. Наприклад, на цій машині:

$ free -m
             total       used       free     buffers     cached
Mem:          1947       1863         84         312        758
-/+ buffers/cache:        792       1154
Swap:         4000          3       3997

показує мені, що у мене є 2 Гб оперативної пам’яті (1947 м) і що система використовувала більшість її. Однак 312 м використовується для буферів вводу / виводу, а решту (758 м) система вирішила заповнити дисковим кешем.

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

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

Третій рядок показує, що у мене занадто великий розділ swap (він там був і нічого не робив), з якого були використані колосальні 3 м. Це те, що ядро ​​насправді не сподівається скоріше використовувати, тому воно застрягло на "задньому ганку".

Хоча зараз freeдає вам знімок, він vmstatможе дати вам запущене зображення:

$ vmstat 10
procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa
 0  0   3588  86236 316524 769132    0    0    14    13  126   81  4  1 95  0
 0  0   3588  83872 316532 770512    0    0     0    20  264 1229  3  1 96  0

Інформації там багато, але цікаво те, що немає трафіку swap-in (swap-in) або swap-out (так). Що означає, що я не використовую своп протягом останніх 10 секунд.


0
  • Область заміни - це частина місця на жорсткому диску, яка використовується для підтримки обмеженого простору оперативної пам'яті. Оперативна пам’ять обмежена за розміром, тому деяким додаткам потрібно більше оперативної пам’яті, ніж доступний простір оперативної пам’яті. У цьому випадку цей простір заміни також називається віртуальною пам’яттю, яка використовується для підтримки оперативної пам’яті.
  • Він швидше у порівнянні зі швидкістю оперативної пам'яті. Коли ми запускаємо велику програму, то найменш використану частину цього додатка заміняли на «Зміна місця» на жорсткому диску, вона повертається назад із області заміни, коли це потрібно. Це дає операційній системі відчуття просто більше оперативної пам’яті, ніж насправді.
  • Це спеціальний розділ на жорсткому диску, створений під час встановлення операційної системи.
  • Добре, якщо створити Swap Area в подвійному розмірі оперативної пам'яті.
  • Ви можете перевірити використану та доступну область заміни за допомогою наступної команди:

    $ cat /proc/swaps 
    Filename                Type        Size    Used    Priority
    /dev/sda10              partition   7812092  16      -1
    

0

У мене ноутбук з повільним жорстким диском, але відносно високою ОЗУ (8 Гб). У цьому налаштуванні я вважаю, що диск заміни є контрпродуктивним з наступних причин:

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

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

  3. Оскільки жорсткий диск повільний, я вважаю за краще зберігати 1 Гб оперативної пам’яті, зарезервованої для кеш-диска , ефективно обмінюючи пам’ять на швидкість. Це робить мою машину спритною, але це означає, що я можу використовувати лише 7 ГБ моєї 8 Гб оперативної пам’яті для додатків. Програмне забезпечення, яке я використовую для досягнення цієї мети, - це роздрібна рання, яка вбиває старі вкладки браузера, коли використовується 88% оперативної пам'яті. Іноді мені доводиться перезавантажувати старі вкладки браузера, які були вимкнені.

Коли ця порада не застосовуватиметься?

  • Якщо у вас швидкий накопичувач жорсткого диска або SSD, і ви маєте менше занепокоєнь з приводу розряду акумулятора, то недоліки, які я описав вище, не стосуватимуться. (Хоча на ранніх SSD можуть виникнути проблеми із зносом, я вважаю, що будь-які SSD, продані з 2018 року, повинні бути нормальними.)

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

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

Caveat:

  • Частина програмного забезпечення, яке ми залишаємо на довгий час (особливо ОС та робочого столу), завантажить код у пам'ять, який ніколи не буде використаний знову. Ці сторінки можна перенести на своп і ніколи більше не потрібно буде їх витягувати, тим самим уникнути недоліків, про які я згадував раніше. З цієї причини я іноді створюю невеликий файл підкачки 512 Мб або 1 ГБ, і дозволяю вимкнути невикористані сторінки пам'яті. Це просто залишає мені трохи більше оперативної пам’яті для додатків. (Потрібно: методика вимірювання відбивання swap, щоб допомогти налаштувати розмір цього файлу swap.)
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.