设置Linux中可用的总物理内存限制

时间:2012-11-20 23:30:48

标签: linux memory kernel memory-address

我知道我应该设置mem=MEMORY_LIMIT。但我不知道去哪里,在运行时或在启动时,为了设置操作系统控制的总物理内存的限制。

我正在运行I / O基准测试,我想限制可用的整体物理内存量。

5 个答案:

答案 0 :(得分:15)

我找到了我想要的答案。基本上,设置总可用物理内存的参数是“mem = MEMORY_LIMIT”。这是一个内核启动参数。您需要为内核引导参数添加最多1GB可用物理内存的“mem = 1G”。有关如何添加内核引导参数的更多信息,请查看https://wiki.ubuntu.com/Kernel/KernelBootParameters

答案 1 :(得分:6)

lilo.confgrub.confgrub.cfgmenu.lst中编辑内核启动参数(哪一个取决于您的特定发行版和引导程序;请查看您的发行版文档了解更多信息在指定内核参数的行上包含参数mem=512M(或您想要模拟的任何大小)。

例如,在Grub中,应该有一行代表kernel /boot/vmlinuz param1=val1 param2=val2。将mem=512M添加到该参数列表中。您可以通过复制这些完整定义,重命名它们以及使用不同的内存量配置每个定义来为您的启动菜单创建单独的条目,这样您就可以使用不同的设置快速启动。

答案 2 :(得分:3)

要添加到Brian Campbell的列表,对于BeagleBone / Black设备上的uBoot引导加载程序,请在/boot/uboot/uEnv.txt中编辑内核参数。添加或修改行mmcargs=setenv bootargs mem=512M [用Debian测试]

在[reboot]之前和之后使用> free确认修改

答案 3 :(得分:0)

我按照KZcoding提到的this page中的说明(部分:永久添加内核引导参数)

我的Linux是(vm in virtualbox):

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

答案 4 :(得分:0)

A1:是的,你必须重新启动。

A2:内核对于拼写错误是相当无情的。没有错误消息。这可能是你的问题吗?示例:" MEM = 512M"和" MEM = 2G&#34 ;.不要忘记上一个参数后面的空格,mem是小写字母,K,M或G是大写字母。