Cоздание и подключение swap-файла

Вот пошаговая инструкция по созданию и подключению swap-файла в Ubuntu Server:

1. Проверка наличия swap

Bash
swapon --show

Если вывод пустой — swap не активен.

2. Создание swap-файла

Замените 2G на нужный размер.

Bash
sudo fallocate -l 2G /swapfile

Если fallocate не поддерживается, используйте:

Bash
sudo dd if=/dev/zero of=/swapfile bs=1M count=2048 status=progress

3. Назначение прав

Bash
sudo chmod 600 /swapfile

4. Инициализация swap

Bash
sudo mkswap /swapfile

5. Активация swap

Bash
sudo swapon /swapfile

Проверь:

Bash
swapon --show
free -h

6. Автозагрузка swap при старте

Открой файл /etc/fstab:

Bash
sudo nano /etc/fstab

Добавь в конец:

Bash
/swapfile none swap sw 0 0

7. (Необязательно) Настройка swappiness

Чтобы система реже обращалась к swap:

Bash
sudo sysctl vm.swappiness=10

Чтобы применялось после перезагрузки:

Bash
echo 'vm.swappiness=10' | sudo tee -a /etc/sysctl.conf

Вот скрипт для автоматического создания и подключения swap-файла в Ubuntu Server:

Bash
#!/bin/bash

# Убедимся, что скрипт запущен с правами администратора
if [[ $EUID -ne 0 ]]; then
   echo "Пожалуйста, запустите этот скрипт с правами суперпользователя (sudo)." 
   exit 1
fi

# Параметры swap-файла
SWAP_SIZE="2G"
SWAP_FILE="/swapfile"

# Проверяем наличие swap
if swapon --show | grep -q "$SWAP_FILE"; then
    echo "Swap уже активен."
    exit 0
fi

# Создание swap-файла
echo "Создаем swap файл размером $SWAP_SIZE..."
fallocate -l $SWAP_SIZE $SWAP_FILE || dd if=/dev/zero of=$SWAP_FILE bs=1M count=$(echo $SWAP_SIZE | sed 's/[^0-9]*//g') status=progress

# Назначаем правильные права
chmod 600 $SWAP_FILE

# Инициализируем swap
mkswap $SWAP_FILE

# Активируем swap
swapon $SWAP_FILE

# Добавляем в fstab для автозагрузки
echo "$SWAP_FILE none swap sw 0 0" >> /etc/fstab

# Настройка swappiness
echo "Настроим swappiness на 10..."
sysctl vm.swappiness=10
echo 'vm.swappiness=10' >> /etc/sysctl.conf

# Выводим результаты
echo "Swap файл создан и активирован. Размер: $SWAP_SIZE."
swapon --show
free -h

# Завершаем скрипт
exit 0

Скрипт создаст swap-файл, активирует его и добавит в fstab для автозагрузки.

Оставьте комментарий