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

Зміст

  • 1. Загальна інформація
  • 2. Створення SWAP файлу
  • 3. Видалення SWAP файлу
  • 4. Редагування розміру SWAP файлу
  • 1. Загальна інформація

    Нагору


    В системі Лінукс для розміщення віртуальної пам’яті можна виділити окремий розділ жорсткого диска або використовувати звичайний файл. Лінукс дозволяє комбінувати ці два способи. За замовчуванням в Unix системах застосовується SWAP. Продуктивність окремого SWAP розділу жорсткого диска вище, ніж продуктивність віртуальної пам’яті розміщеної у файлі. Єдиним мінусом SWAP розділу є складність його редагування.

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

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

    Створення, редагування та видалення будь-яких розділів з під завантаженої в даний момент операційної системи не безпечно, тому створення SWAP розділу, замість SWAP файлу, робиться тільки з використанням LiveCD. Стаття на тему безпечного редагування розділів буде написана у майбутнє час.

    В системі Windows віртуальна пам’ять розміщена тільки в окремому файлі – pagefile.sys (для Windows 2000 і вище) і win386.swp (для Windows 9x).

    Для будь-якої операційної системи, якщо використовується сплячий режим (Hebernation), розмір віртуальної пам’яті слід робити не менше об’єму оперативної пам’яті. У загальних випадках найбільш ефективно використовувати розмір віртуальної пам’яті кратний 4 (1024 Мб 2048 Мб тощо), так як ядро системи виробляє обмін сторінками з пам’яттю по 4 Кб в кожній. Розмір віртуальної пам’яті легше порахувати від обсягу оперативної пам’яті *2, *3. Область підкачки варто розміщувати на самому швидкому жорсткому диску ближче до початку.

    Хочу звернути Вашу уваги, що наведені нижче інструкції стосується лише зміни розміру ФАЙЛУ ВІРТУАЛЬНОЇ ПАМ’ЯТІ, а не зміна розміру окремій директорії SWAP.

    Нижче наведено покрокові інструкції, які дозволять створити, змінити або видалити файл SWAP.

    2. Створення SWAP файлу

    Нагору


  • Створюємо файл необхідного розміру для swap області, де /home/swap-tmp – це ім’я і шлях файлу, а count=1024K його размерв, в даному випадку – 1024 Мб):
    # sudo dd if=/dev/zero of=/home/swap-tmp bs=1024 count=1024K

    На екрані отримаємо:

    [[email protected] user]#sudo dd if=/dev/zero of=/home/swap-tmp bs=1024 count=1024K
    1048576+0 записів лічене
    1048576+0 записів написано
    скопійовано 1073741824 байти (1,1 GB), 137,509 c, 7,8 MB/c
  • Далі робимо запис в початок файлу системну інформацію, яка використовується ядром системи для роботи з файлом підкачки:
    # sudo mkswap /home/swap-tmp

    Після закінчення операції на екрані з’явиться:

    [[email protected] user]# sudo mkswap /home/swap-tmp
    Встановлюється простір для свопінгу версії 1, розмір = 1073737 кБ
    без мітки, UUID=54c60583-e61a-483a-a15c-2f1be966db85
  • Наступним кроком активуємо тільки що створений SWAP файл:
    # sudo swapon /home/swap-tmp

    Для перегляду результату переглядаємо всі об’єкти, які використовуються для розміщення віртуальної пам’яті:

    # cat /proc/swaps
  • Після перезавантаження системи SWAP файл необхідно активувати знову або додати рядок для автоматичного завантаження в файл fstab.

    Редагувати файл fstab можна самостійно або з командою, яка додає в кінець файлу fstab рядок /home/swap-tmp swap swap defaults 0 0:

    # echo “/home/swap-tmp swap swap defaults 0 0” | sudo tee -a /etc/fstab

    Теж саме діяння але добовление через UUID, який присвоюється у пункті 2:

    # echo “UUID=54c60583-e61a-483a-a15c-2f1be966db85 swap swap defaults 0 0” | sudo tee -a /etc/fstab
  • 3. Видалення SWAP файлу

    Нагору


  • Переглядаємо всі об’єкти, які використовуються для розміщення віртуальної пам’яті
    # cat /proc/swaps

    Вибираємо непотрібний.

  • Деактивуємо, для прикладу, створений вище SWAP файл:
    # sudo swapoff /home/swap-tmp
  • Видаляємо SWAP файл:
    # sudo rm /home/swap-tmp

  • Якщо Ви раніше додавали сходинку в fstab, для автоматичного завантаження SWAP файлу при старті операційної системи, то її слід видалити. Виводимо файл /etc/fstab для редагування на екран:

    # sudo gedit /etc/fstab

    У ньому видаляємо рядок монтування SWAP-файлу.

    4. Редагування розміру SWAP файлу

    Нагору


    Дії з редагування обсягу SWAP файлу зводяться до видалення вже створеного файлу SWAP і створення нового файлу необхідного розміру. Тобто потрібно спочатку зробити пункт 3, а після пункт 2.

    LEAVE A REPLY

    Please enter your comment!
    Please enter your name here