Существует ли способ увеличить мой существующий "своп-файл", не имея необходимость уничтожать и воссоздавать его? Я хотел бы к своей области подкачки от 1 ГБ до 2 ГБ. В настоящее время это настраивается как таковое:
$ sudo swapon -s
Filename Type Size Used Priority
/swapfile file 1048572 736640 -1
$ ls -lh /swapfile
-rw------- 1 root root 1.0G Nov 9 2016 /swapfile
Я использую Ubuntu 14.04.
Сначала отключите файл подкачки:
sudo swapoff /swapfile
Теперь позволяют нам увеличить размер файла подкачки:
sudo dd if=/dev/zero of=/swapfile bs=1M count=1024 oflag=append conv=notrunc
вышеупомянутая команда добавит 1 ГиБ нулевых байтов в конце Вашего файла подкачки.
Установка файл как "файл подкачки":
sudo mkswap /swapfile
позвольте подкачать:
sudo swapon /swapfile
Необходимо добавить новый своп-файл вместо того, чтобы изменить размер существования одного , потому что оно не стоит Вам ничего, чтобы сделать так . Для изменения размеров своп-файла необходимо сначала отключить его, который выселяет контент подкачки к RAM, которая увеличивает давление на RAM и может даже вызвать уничтожителя OOM (не говоря уже о том, что Вы могли возможно перегружать свои диски в течение нескольких минут). Несколько файлов подкачки не являются проблемой, тривиально легко установить еще один файл подкачки. Нет вполне буквально никакого преимущества для изменения размеров файла подкачки по добавлению другого.
dd if=/dev/zero of=/some/file count=1K bs=1M
mkswap /some/file
sudo chown root:root /some/file
sudo chmod 600 /some/file
sudo swapon /some/file
Можно создать другой файл подкачки, как я сделал:
sudo fallocate -l 4G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
sudo swapon --show
fstab
ввод файла:echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
У меня есть хорошие результаты на моей Ubuntu 17.04, следующей совету арианина Acosta от сообщения в блоге. Можно заменить 4G здесь sudo fallocate -l 4G /swapfile
с любой суммой гигабайтов Вы хотите. Например, sudo fallocate -l 2G /swapfile
для TS.
Вообще говоря, рекомендуемый размер для файла подкачки 2X сумма RAM, но можно сделать его столь большим, как Вам нужно. Помните, что это не замена для памяти, потому что производительность намного хуже, так как вещи хранятся в диске.
Я создал простой сценарий удара, который увеличивает файл подкачки к 4 ГБ и протестировал его на Ubuntu 16.04.
Это может быть выполнено линию за линией или сценарий удара, но я использую его для создания бездисплейных установок.
#!/bin/bash
echo "====== Current Swap ======"
sudo swapon -s
echo "====== Turning Off Swap ======"
sudo swapoff /swapfile
echo "====== Allocating 4GB Swap ======"
sudo fallocate -l 4G /swapfile
echo "====== Making Swap ======"
sudo mkswap /swapfile
echo "====== Setting Permissions to Root Only ======"
sudo chmod 600 /swapfile
echo "====== Turning On Swap ======"
sudo swapon /swapfile
echo "====== Current Swap ======"
sudo swapon -s
echo "====== Done! ======"
От Bogdan Cornianu, здесь: https://bogdancornianu.com/change-swap-size-in-ubuntu/
[КАВЫЧКА (ПОЧТИ ДОСЛОВНО, со всего несколькими моих дополнений комментария) ЗАПУСКАЮТСЯ]
В следующем примере мы расширим область подкачки, доступную в / своп-файле с 4 гибибайт до 8 гибибайт.
Выключите все процессы подкачки
sudo swapoff -a
Измените размер подкачки
sudo dd if=/dev/zero of=/swapfile bs=1G count=8
if
= входной файл
of
= выходной файл
bs
= размер блока; здесь, 1G
обозначает 1 Гибибайт или гибибайт, который, согласно man dd
=1024*1024*1024 байта G
count
= множитель блоков
Сделайте файл применимым как подкачка
sudo mkswap /swapfile
Активируйте файл подкачки
sudo swapon /swapfile
Проверьте объем доступной подкачки
grep SwapTotal /proc/meminfo
[ЗАКЛЮЧИТЕ КОНЕЦ В КАВЫЧКИ]
Вы также можете проверить разрешения. Другой способ сделать это:
# check your swap
free
# turn off swap
sudo swapoff /swapfile
# To create the SWAP file, you will need to use this.
sudo fallocate -l 4G /swapfile # same as "sudo dd if=/dev/zero of=/swapfile bs=1G count=4"
# Secure swap.
sudo chown root:root /swapfile
sudo chmod 0600 /swapfile
# Prepare the swap file by creating a Linux swap area.
sudo mkswap /swapfile
# Activate the swap file.
sudo swapon /swapfile
# Confirm that the swap partition exists.
sudo swapon -s
# check your swap again
free