Додавання нового файлу swap. Як відредагувати fstab, щоб включити swap після перезавантаження?


50

Я видалив свій існуючий розділ swap через певну проблему з розділенням. Зараз у мене немає місця для swap, тому я створив файл swap з:

dd if=/dev/zero of=/root/myswapfile bs=1M count=1024

Ось після swapon -s:

/root/myswapfile    file    1048572    1320    -1

Тепер я хочу відредагувати свою, /etc/fstabщоб увімкнути файл swap після перезавантаження.


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

2
Зауважте, що bs=1G count=1це дало б такий же результат, перегляньте статтю DD для інших підрозділів.
LiveWireBT

Відповіді:


79

Ось такі кроки для створення підкачки у файлі:

Створіть великий файл, наприклад, за допомогою

sudo mkdir -p /var/cache/swap/   # create a directory that holds the swap file
sudo dd if=/dev/zero of=/var/cache/swap/myswap bs=1M count=4096 # for 4 GByte

Звичайно, будь-який інший метод створення файлу певного розміру міг би зробити.

Оголосіть своп в системі

sudo chmod 0600 /var/cache/swap/myswap # only root should have access
sudo mkswap /var/cache/swap/myswap # format as swap
sudo swapon /var/cache/swap/myswap # announce to system

Вставте наступний рядок /etc/fstabдля swap з наступного завантаження:

/var/cache/swap/myswap    none    swap    sw    0   0

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

Також зверніть увагу: Ви не можете використовувати файл swap для сплячки (див. Ubuntu SwapFaq )

Додаткова примітка для Ubuntu> = 17.04: заміна за допомогою файлу /swapfileстворюється за замовчуванням у новій установці (коли жодного розділу підкачки не було). Пізніше ми можемо створити розділ swap вручну, якщо бажаємо.

У випадку, якщо ми хочемо замінити існуючий своп (наприклад, розділ) на інший своп (наприклад, у файлі), нам потрібно видалити стару заміну на

sudo swapoff -a  # for all

Потім видаліть запис /etc/fstabзаміни або замініть його новим відповідно.


1
Чому б ви також не хотіли своєї заміни на SSD?
Джозеф Гарвін

1
@JosephGarvin: оскільки зношеність, можливо, не буде проблемою, ви все ще витрачаєте багато (дорогого) дискового простору під час заміни на SSD. Залежно від вашої системної оперативної пам’яті, можливо, вам не знадобиться міняти місцями занадто часто. askubuntu.com/questions/178661/do-i-need-swap-with-new-ssd
Таккат

1
Спасибі, як би ви перевірили, чи /etc/fstabбуде правильно монтувати файл swap без перезавантаження? Я не можу побачити файл свопу, якщо це роблюmount -a && mount
Дон Джуліо

2
@ user72464 Щоб показати всі використані свопи, ми можемо випустити swapon -s. Наявний своп також відображається на free -h.
Таккат

1
@ user72464 Simple .. domount -a
heemayl
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.