У меня есть виртуальная машина и в ней процесс, который потребляет много памяти (~ 200 ГБ). Какая-то БД в памяти. Мне нужно запустить его на стандартном ноутбуке, и я не могу перекомпилировать его или увидеть код.

Я добавил 256 ГБ пространства подкачки с pri = 32767 в /etc /fstab и vm.swappiness = 100 в /etc/sysctl.conf, но он просто не загружает БД достаточно быстро (зависает на 4 ГБ через 24 часа; кажется, больше не растет).

(РЕДАКТИРОВАТЬ: я клонировал машину, изменил ОЗУ с 256 ГБ до 4 ГБ, добавил жесткий диск, отформатировал его как ext4 и создал файл подкачки размером 256 ГБ (dd -> mkswap -> swapon ...))

Почему он перестал расти?

Я подозреваю, что медлительность вызвана тем, что это пространство подкачки, поэтому ОС занята "подкачкой" (загрузка -> недостаточно места -> решает, что поменять ...).

Я ищу способ "добавить больше памяти", но заставить ОС воспринимать это как нормальную память. Или, может быть, моя конфигурация подкачки неверна?

Я знаю, что это повредит производительности, но это приемлемо для меня.

ВМ это CentOS 6.

1 ответ1

0

Вы пробовали несколько файлов подкачки? 4 гигабайта звучит так, как будто вы превышаете ограничение размера файла для 32-битной системы.

Я нашел это руководство на centos.org, в котором довольно четко изложено, как создавать файлы подкачки вручную.

Чтобы добавить файл подкачки:

  1. Определите размер нового файла подкачки в мегабайтах и умножьте на 1024, чтобы определить количество блоков. Например, размер блока файла подкачки 64 МБ составляет 65536.
  2. В приглашении оболочки от имени root введите следующую команду с количеством, равным требуемому размеру блока:

dd if=/dev/zero of=/swapfile bs=1024 count=65536

  1. Настройте файл подкачки с помощью команды:

mkswap /swapfile

  1. Чтобы включить файл подкачки немедленно, но не автоматически во время загрузки:

swapon /swapfile

  1. Чтобы включить его во время загрузки, отредактируйте /etc /fstab, добавив следующую запись:

/swapfile swap swap defaults 0 0

При следующей загрузке системы включается новый файл подкачки.

После добавления нового файла подкачки и его включения убедитесь, что он включен, просмотрев выходные данные команды cat /proc/swaps или free .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .