Подтвердить что ты не робот

Установка ограничения на общую физическую память, доступную в Linux

Я знаю, что я должен установить mem=MEMORY_LIMIT. Но я не знаю, куда идти, во время выполнения или во время загрузки, чтобы установить ограничение на общую физическую память, которой управляет ОС.

Я использую тесты ввода-вывода, и я хотел бы ограничить объем доступной физической памяти.

4b9b3361

Ответ 1

Я нашел ответ, который искал. В основном, параметр, который устанавливает общую доступную физическую память, - "mem = MEMORY_LIMIT". И это параметр загрузки ядра. Вам нужно добавить "mem = 1G" для максимальной физической памяти объемом 1 ГБ для параметра загрузки ядра. Подробнее о том, как добавить параметры загрузки ядра, смотрите https://wiki.ubuntu.com/Kernel/KernelBootParameters

Ответ 2

Отредактируйте параметры загрузки ядра в lilo.conf, grub.conf, grub.cfg или menu.lst (какой из них зависит от вашего конкретного дистрибутива и загрузчика, проверьте дополнительную документацию по дистрибутивам), чтобы включить параметр mem=512M (или любого другого размера, который вы хотите эмулировать) в строке, задающей параметры ядра.

Например, в Grub должна быть строка, которая говорит что-то вроде kernel /boot/vmlinuz param1=val1 param2=val2. Добавьте mem=512M к этому списку параметров. Вы можете создавать отдельные записи для своего загрузочного меню, копируя все эти определения, переименовывая их и настраивая каждый с другим объемом памяти, чтобы вы могли быстро загрузиться с разными настройками.

Ответ 3

Чтобы добавить список Brian Campbell для загрузчика uBoot на устройствах BeagleBone/Black, измените параметры ядра в /boot/uboot/uEnv.txt. Добавьте или измените строку mmcargs=setenv bootargs mem=512M [проверено с Debian]

Используйте > free до и после [reboot], чтобы подтвердить изменение

Ответ 4

Я выполнил инструкции в этой странице, о которых упоминал KZcoding (часть: Постоянно добавляет параметр загрузки ядра)

Мой Linux (vm в виртуальном боксе):

Linux ubuntu 4.4.0-21-generic #37-Ubuntu SMP Mon Apr 18 18:33:37 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

Перед настройкой:

[email protected]:~$ free -m
          total        used        free      shared  buff/cache   available
Mem:           3630         305        3010           6         314        3264
Swap:          3767           0        3767

Просто изменил эту строку в /etc/default/grub

GRUB_CMDLINE_LINUX_DEFAULT=""

к

GRUB_CMDLINE_LINUX_DEFAULT="mem=2G"

затем перезагрузите сервер. После перезапуска:

[email protected]:~$ free -m
              total        used        free      shared  buff/cache   available
Mem:           2000         298        1385           4         315        1651
Swap:          3767           0        3767

Ответ 5

A1: Да, вам нужно перезагрузиться.

A2: Ядро довольно неумолимо относительно опечаток. Сообщения об ошибках отсутствуют. Это может быть ваша проблема? Примеры: "mem = 512M" и "mem = 2G". Не забудьте пробел, следующий за предыдущим параметром, mem в нижнем регистре, а K, M или G - в верхнем регистре.