我知道应该设置mem = 内存限制
。但是我不知道在运行时还是在引导时去哪里以便限制操作系统控制的总物理内存。
我正在运行I/O基准测试,并希望限制可用的总物理内存量。
我知道应该设置mem = 内存限制
。但是我不知道在运行时还是在引导时去哪里以便限制操作系统控制的总物理内存。
我正在运行I/O基准测试,并希望限制可用的总物理内存量。
lilo.conf
,grub.conf
,grub.cfg
或menu.lst
中修改你的内核引导参数(这取决于你使用的发行版和引导加载程序,请查阅你的发行版文档以获得更多详细信息),在指定内核参数的那一行中加入mem=512M
(或任何你想要模拟的大小)。例如,在Grub中,应该有一行类似于kernel /boot/vmlinuz param1=val1 param2=val2
的内容。将mem=512M
添加到这些参数中。你可以通过复制这些完整的定义并将其重命名来为你的启动菜单创建单独的条目,并配置每个条目使用不同数量的内存,这样你就可以快速使用不同的设置启动。/boot/uboot/uEnv.txt
内核参数。mmcargs=setenv bootargs mem=512M
[在Debian下经过测试]> free
在[重新启动]之前和之后确认修改。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
设置之前:
yavuz@ubuntu:~$ 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"
yavuz@ubuntu:~$ free -m
total used free shared buff/cache available
Mem: 2000 298 1385 4 315 1651
Swap: 3767 0 3767
Ubuntu 16.04
上,即使重启后,可用内存仍然没有改变。 - Stephane/etc/default/grup
文件后,你是否运行了sudo update-grub
命令? - YangA1: 是的,你必须重新启动。
A2: 内核对于打字错误非常严格。没有错误消息。这可能是你的问题吗?例如:" mem=512M" 和 " mem=2G"。不要忘记在前一个参数后面加上空格,mem应该是小写,而K、M或G应该是大写。
mem = 6700M
才能获得5365 MiB(6 GiB)物理可用内存中的6144 MiB的内存。 - tanius