Как я увеличиваю размер своп-файла, не удаляя его в терминале?

Существует ли способ увеличить мой существующий "своп-файл", не имея необходимость уничтожать и воссоздавать его? Я хотел бы к своей области подкачки от 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.

60
задан 21 June 2017 в 18:37

6 ответов

Сначала отключите файл подкачки:

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
70
ответ дан 22 November 2019 в 23:38

Необходимо добавить новый своп-файл вместо того, чтобы изменить размер существования одного , потому что оно не стоит Вам ничего, чтобы сделать так . Для изменения размеров своп-файла необходимо сначала отключить его, который выселяет контент подкачки к 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
41
ответ дан 22 November 2019 в 23:38

Можно создать другой файл подкачки, как я сделал:

  1. sudo fallocate -l 4G /swapfile
  2. sudo chmod 600 /swapfile
  3. sudo mkswap /swapfile
  4. sudo swapon /swapfile
  5. Проверьте, что это работает с sudo swapon --show
    Для создания этого постоянным добавляют файл к fstabввод файла:
    echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
13
ответ дан 22 November 2019 в 23:38

У меня есть хорошие результаты на моей 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! ======"
5
ответ дан 22 November 2019 в 23:38

Общий ответ для, "как изменить размер файла подкачки":

От Bogdan Cornianu, здесь: https://bogdancornianu.com/change-swap-size-in-ubuntu/

[КАВЫЧКА (ПОЧТИ ДОСЛОВНО, со всего несколькими моих дополнений комментария) ЗАПУСКАЮТСЯ]

В следующем примере мы расширим область подкачки, доступную в / своп-файле с 4 гибибайт до 8 гибибайт.

  1. Выключите все процессы подкачки

    sudo swapoff -a
    
  2. Измените размер подкачки

    sudo dd if=/dev/zero of=/swapfile bs=1G count=8
    

    if = входной файл
    of = выходной файл
    bs = размер блока; здесь, 1G обозначает 1 Гибибайт или гибибайт, который, согласно man dd =1024*1024*1024 байта G
    count = множитель блоков

  3. Сделайте файл применимым как подкачка

    sudo mkswap /swapfile
    
  4. Активируйте файл подкачки

    sudo swapon /swapfile
    
  5. Проверьте объем доступной подкачки

    grep SwapTotal /proc/meminfo
    

[ЗАКЛЮЧИТЕ КОНЕЦ В КАВЫЧКИ]

0
ответ дан 22 November 2019 в 23:38

Вы также можете проверить разрешения. Другой способ сделать это:

# 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
1
ответ дан 29 March 2020 в 17:06

Другие вопросы по тегам:

Похожие вопросы: