Можно ли создать файл подкачки для гостевой виртуальной машины Linux, управляемой Vagrant?

в своем Vagrantfile Я определил следующий поставщик:

отрывок из Vagrantfile:

config.vm.provider :virtualbox do |vb|
  vb.gui = false
  vb.customize ["modifyvm", :id, "--memory", "4096"]
end

когда я бегу free -m в созданной виртуальной машине я вижу следующий отчет:

             total       used       free     shared    buffers     cached
Mem:          3953        337       3615          0         18        119
-/+ buffers/cache:        199       3753
Swap:            0          0          0

можно ли назначить swappiness при сборке и подготовке виртуальной машины?

Я попытался установить vm.swappiness in /etc/sysctl.conf и перезапуск виртуальной машины, но я не вижу никакого влияния на добавление пространства подкачки к ВИРТУАЛЬНАЯ ПАМЯТЬ.

зачем нужен файл подкачки? Я бы не иметь дело с подкачки на всех и все в памяти. Тем не менее, для некоторых приложений (например, проект composer для PHP) печально известен использованием большого объема памяти при определенных условиях. Без подкачки я должен быть очень либеральным с объемом памяти я кидаю на ВМ, если у меня был файл подкачки, хотя это может быть не так эффективно-я бы теоретически столкнуться с меньшим количеством проблем.

11
задан Sean Quinn
21.03.2023 22:15 Количество просмотров материала 3389
Распечатать страницу

3 ответа

параметр памяти используется только для настройки оперативной памяти виртуальной машины. Однако определение пространства подкачки является частью образа диска. Этот образ вам обеспечен в рамках config.vm.box определение Vagrantfile. В моем конкретном случае я заметил, что файл подкачки не может быть легко изменена (у меня только 1 Гб подкачки).

в вашем случае я рекомендую изменить базовый образ (config.vm.box), или добавьте файл подкачки в корневую файловую систему, интегрировав, например,этот script в своем Vagrantfile. этой еще одна ссылка, которая, кажется, стоит попробовать.

4
отвечен C-Otto 2023-03-23 06:03

просто добавьте эту строку в файл vagrant

Vagrantfile

 # Enable Dynamic Swap Space to prevent Out of Memory crashes
config.vm.provision "shell", inline: "sudo apt install swapspace -y"

а потом повторение

vagrant up --provision

как это работает

это демон динамического пространства подкачки. Есть несколько, но вот популярный.

sudo apt install swapspace

чтобы убедиться, что он работает

sudo service swapspace status

фрагмент http://pqxx.org/development/swapspace/

этот системный демон для ядра Linux отсюда с необходимостью для больших, фиксированных разделов подкачки или файлов подкачки.

при установке системы на базе Linux (неизменно GNU / Linux) с Swapspace, обычный раздел подкачки может быть опущен, или он может быть сохранен совсем небольшой. Когда Swapspace находит во время обычного использования системы, больше виртуальной памяти необходимо, оно автоматически востребует космос от жесткий диск. И наоборот, пространство подкачки, которое больше не требуется снова освобождается для регулярного использования файловая система.

Это означает, что с установленным Swapspace, размеры системы доступное пространство подкачки во время установки больше не является жизнью или смертью выбор. Сейчас для работы GNU/Линукс только один, большой раздел--без дискового пространства, потерянного для достойной сожаления установки усмотрение. Система должна также мочь отрегулировать случайное ресурсоемкая задача, которая занимает гораздо больше места подкачки, чем было первоначально предусмотренный, не выходя из того же пространства подкачки неиспользованный и неиспользованный во время нормального функционирования как нормально случай.

10
отвечен Jonathan 2023-03-23 08:20

Если вы используете Chef, чтобы обеспечить свой бродячий ящик, самое простое решение, вероятно, использовать swap_file ресурсов. Этот ресурс является новым в Chef 14.0.

например, добавьте в рецепт следующее:

swap_file '/var/swap.1' do
  size 1024
end
0
отвечен Cédric 2023-03-23 10:37

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх