У меня есть виртуальная машина и в ней процесс, который потребляет много памяти (~ 200 ГБ). Какая-то БД в памяти. Мне нужно запустить его на стандартном ноутбуке, и я не могу перекомпилировать его или увидеть код.
Я добавил 256 ГБ пространства подкачки с pri = 32767 в / etc / fstab и vm.swappiness = 100 в /etc/sysctl.conf, но он просто не загружает БД достаточно быстро (зависает на 4 ГБ через 24 часа; кажется, больше не растет).
(РЕДАКТИРОВАТЬ: я клонировал машину, изменил ОЗУ с 256 ГБ до 4 ГБ, добавил жесткий диск, отформатировал его как ext4 и создал файл подкачки размером 256 ГБ (dd -> mkswap -> swapon ...))
Почему он перестал расти?
Я подозреваю, что медлительность вызвана тем, что это пространство подкачки, поэтому ОС занята «подкачкой» (загрузка -> недостаточно места -> решает, что поменять ...).
Я ищу способ «добавить больше памяти», но заставить ОС воспринимать это как нормальную память. Или, может быть, моя конфигурация подкачки неверна?
Я знаю, что это повредит производительности, но это приемлемо для меня.
ВМ это CentOS 6.
«Мне нужно запустить его на стандартном ноутбуке». Ну, вы не будете. Даже если бы вы могли запустить его, база данных в памяти не создана, чтобы справиться с медлительностью доступа к диску. С тем же успехом вы можете выполнить все, что делает программа вручную, ручкой и бумагой, и, вероятно, это будет быстрее.