Как настроить swap, чтобы убрать std::bad_alloc? На сервере 500M RAM. Запускаю ресурсоемкое приложение, которому не хватает памяти и оно вываливается с исключением std::bad_alloc.
Подключаю своп-файл на 10G.
Та же ошибка.
Вывод free -h_ total used free shared buffers cached
Mem: 488M 125M 363M 6.2M 10M 47M
-/+ buffers/cache: 67M 421M
Swap: 9G 32M 9G
На сколько я понимаю, OC не может выделит больше 421M, не смотря на своп. Как это можно исправить?
OC: Ubuntu 15.10 x64

21 Авг 2019 в 06:52
215 +2
0
Ответы
1

Для увеличения лимита выделения памяти на сервере вам следует отредактировать параметр vm.overcommit_memory в файле /etc/sysctl.conf.

Откройте файл /etc/sysctl.conf с помощью текстового редактора:

sudo nano /etc/sysctl.conf

Добавьте следующую строку в конец файла:

vm.overcommit_memory=1

Сохраните и закройте файл.

Затем выполните команду:

sudo sysctl -p

После этого перезагрузите сервер.

После внесения этих изменений система должна разрешать выделение памяти в своп-файле, даже если основная оперативная память уже заполнена.

20 Апр в 13:12
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 84 706 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир