Если вашей системе не хватает оперативной памяти для выполнения каких-либо задач, можно либо увеличить физический размер ОЗУ, либо настроить swapping (механизм виртуальной памяти, когда данные из ОЗУ перемещаются на жесткий диск).
Данная статья описывает процесс добавления swap файла в linux. Если swap файл уже существует, и необходимо лишь увеличить его размер, можно просто добавить еще один extra swap.
В командной строке на сервере введите и выполните команду:
sudo swapon -s
Пустой список сигнализирует вам о том, что swap файла не существует:
Filename Type Size Used Priority
Если swap файл уже существует, придумайте имя для нового swap файла, отличающееся от имени существующего.
Этот файл будет существовать на сервере, пока он не будет перезапущен. Чтобы этого избежать добавьте следующее в fstab файл.
Откройте файл:
Выполните команды:
Данная статья описывает процесс добавления swap файла в linux. Если swap файл уже существует, и необходимо лишь увеличить его размер, можно просто добавить еще один extra swap.
Проверьте существование swap файла
В командной строке на сервере введите и выполните команду:
sudo swapon -s
Пустой список сигнализирует вам о том, что swap файла не существует:
Filename Type Size Used Priority
Проверьте систему
Далее нужно проверить, сколько места доступно на жестком диске. В этом примере Swap файл будет занимать 256 Мб на сервере. Введите команду:
df
После этого вам будет показана информация о занятом пространстве на жестком диске:
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/vda 20509308 3033068 16411384 16% /
none 4 0 4 0% /sys/fs/cgroup
udev 240132 4 240128 1% /dev
tmpfs 50188 328 49860 1% /run
none 5120 0 5120 0% /run/lock
none 250932 0 250932 0% /run/shm
none 102400 0 102400 0% /run/user
В данном случае, в разделе /dev/vda использовано всего 16% от 20 Гб дискового пространства. Можем создать swap файл размером 256 Мб.
Создайте и задействуйте swap файл
Пришло время создать swap файл командой dd (утилита для копирования данных из одного файла в другой):
sudo dd if=/dev/zero of=/swapfile bs=1024 count=256k
"if='/dev/zero" - файл, из которого копировать информацию. /dev/zero представляет собой источник нулевых байтов в unix системах.
"of=/swapfile" означает имя создаваемого swap файла.
"of=/swapfile" означает имя создаваемого swap файла.
Далее подготавливаем swap файл, создавая для него место в системе:
sudo mkswap /swapfile
На экране появится следующее:
Setting up swapspace version 1, size = 262144 KiB
no label, UUID=90faca87-ad4d-4a70-bc80-c1cab1c88fbd
Завершаем все активацией swap файла:
sudo swapon /swapfile
Теперь, выполнив команду swapon -s можно посмотреть только что добавленный swap файл:
swapon -s
Filename Type Size Used Priority
/swapfile file 262144 0 -1
Откройте файл:
sudo vim /etc/fstab
Допишите следующую строку:
Допишите следующую строку:
/swapfile none swap sw 0 0
За интенсивность использования swap файла системой отвечает параметр swappiness, принимающий значение от 0 до 100. Если он равен 0, то swap используется только в случае крайней необходимости, например, когда загруженность ОЗУ равна 100%. Если он равен 100, то swap используется с наибольшим приоритетом.
По умолчанию swappiness равен 60. Можно отдать меньший приоритет, чтобы предотвратить утечку памяти во время использования swap файла.
И конечно же защитите файл от чтения и записи пользователями:
sudo chown root:root /swapfile
sudo chmod 0600 /swapfile
Интенсивность использования swap файла
За интенсивность использования swap файла системой отвечает параметр swappiness, принимающий значение от 0 до 100. Если он равен 0, то swap используется только в случае крайней необходимости, например, когда загруженность ОЗУ равна 100%. Если он равен 100, то swap используется с наибольшим приоритетом.
По умолчанию swappiness равен 60. Можно отдать меньший приоритет, чтобы предотвратить утечку памяти во время использования swap файла.
Выполните команды:
echo 10 | sudo tee /proc/sys/vm/swappiness
echo vm.swappiness = 10 | sudo tee -a /etc/sysctl.conf
Комментариев нет:
Отправить комментарий