Перейти к содержимому

Linux - использовать диск как RAM

0

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

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

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

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

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

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

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

ВМ это CentOS 6.

512 просмотров
assafmo спросил 8 лет назад
A 111

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.

Вы можете добавить подробности о том, как это делается для всех, кто не знает, как это сделать.

Ramhound · 8 лет назад · 0

это был чистый ресурс о том, как это сделать. https://www.centos.org/docs/5/html/5.2/Deployment_Guide/s2-swap-creating-file.html

codykochmann · 8 лет назад · 0

Мне больше нравится этот учебник, потому что он включает в себя, как управлять вашими разрешениями https://www.digitalocean.com/community/tutorials/how-to-add-swap-on-centos-6

codykochmann · 8 лет назад · 0

@Ramhound Это 64-битная система. Благодарю.

assafmo · 8 лет назад · 0

@codykochmann Материал должен быть в теле ответа. Учебник на другом сайте не приносит нам никакой пользы

Ramhound · 8 лет назад · 0

@assafmo Даже если * процессор * 64-битный, это не означает, что файловая система. Например, FAT32 ограничен 4 ГБ файлами. FAT16 и FAT12 еще хуже.

jpaugh · 8 лет назад · 1

Я забыл об этом. :)

codykochmann · 8 лет назад · 0
codykochmann ответил 8 лет назад
C 67