2

Я все еще работаю над этим вопросом. Этот новый вопрос - другой, поэтому я подумал, что было бы хорошо опубликовать новый вопрос. Это правильный протокол или я только что отредактировал другой вопрос?

Я использую Ubuntu 10.04 с ядром 2.6.32-22-generic на ноутбуке Toshiba Satellite. Когда я вхожу в меню GRUB (у меня также установлена Ubuntu 9.10), я могу выбрать ядро для загрузки. Я использую прокрутку вниз до нужного и нажимаю "e", и я ожидаю, что смогу ввести mem=1024m и заставить ядро использовать столько памяти. Но когда я запускаю cat /proc/meminfo или заглядываю в диспетчер процессов после загрузки с этим аргументом, я все равно вижу всю оперативную память: ~ 2 ГБ.

Я неправильно использую этот аргумент загрузки? Конфигурация загрузки (прежде чем я что-то добавлю) выглядит так:

insmod ext2
set root=(hd0,1)
search --no-floppy --fs-uuid --set 10270f21-1c42-494b-bd3f-813c23f6d\
518
linux /boot/vmlinuz-2.6.32-22-generic root=UUID=10270f21-1c42-494b-b\
d3f-813c23f6d518 ro quiet splash
initrd /boot/initrd.img-2.6.32-22-generic

Для этого я добавил mem=1024m после последней строки и нажал Ctrl+X (Emacs сохранит и загрузит ядро), и система загрузилась.

Я попытался добавить mem=1024m в конец и начало этого списка, и это, похоже, не изменило распределение оперативной памяти.

3 ответа3

5

В установках на основе Ubuntu и Debian, использующих Grub2, вам не следует редактировать /boot/grub/grub.cfg напрямую. Этот файл настраивается с помощью команды update-grub , которая происходит автоматически в разное время (например, при установке новых образов ядра).

Вместо этого вам нужно добавить параметры командной строки ядра в переменные GRUB_CMDLINE_LINUX или GRUB_CMDLINE_LINUX_DEFAULT в /etc/default/grub:

# these options don't get added to recovery boot entry
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

# these options get added to both standard and recovery boot entries
GRUB_CMDLINE_LINUX="var1 var2 mem=1024m"

Когда вы закончите редактирование, не забудьте сгенерировать новое меню Grub с изменениями:

sudo update-grub
2

Видимо, параметры идут после строки linux :

linux /boot/vmlinuz-2.6.32-22-generic root=UUID=10270f21-1c42-494b-b\ d3f-813c23f6d518 ro quiet splash

Таким образом, новая строка параметров загрузки будет выглядеть так:

linux /boot/vmlinuz-2.6.32-22-generic root=UUID=10270f21-1c42-494b-b\ d3f-813c23f6d518 ro quiet splash mem=1024m

РЕДАКТИРОВАТЬ - я только что посмотрел на переполнение стека и нашел этот пост. Я прошу прощения за ответ на свой вопрос. Я обычно задаю вопрос, когда меня озадачивают, а затем продолжаю работать над этим, поэтому иногда я разбираюсь в этом раньше, чем SU. Я не собираюсь делать это ради репутации. Это иногда случается.

1

Не должно ли это быть либо:

mem=1024M

(обратите внимание на заглавную М? Или это не имеет значения?)

или же:

mem=1024mb

Просто любопытно, как я наткнулся на этот пост, исследуя способы управления памятью.

Я использовал mem=1024mb и добавил следующее в /etc/default/grub:

GRUB_CMDLINE_LINUX="mem=1024mb"

Затем запустите:

update-grub

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