我有一个带有 512MB RAM 的嵌入式板,运行 Linux 2.6.29 和 UBoot 引导加载程序。但内核只能利用 128MB 的 RAM。
我尝试更改 的值XCODE_MEMSIZE
,我认为这决定了内核使用多少 RAM。
当我将其设置为 512 时,内核在启动时崩溃。还有其他配置参数需要修改吗?
答案1
如果没有对嵌入式板有更具体的了解,我会想到两件事。
尝试内核
mem=
启动参数。 (我认为有时内存可能可以从非连续地址获得,因此您可能必须使用类似的东西,但必须根据您的主板检查地址。内存=512M@0 内存=256M@0x80000000 内存=256M=0xc0000000
你有嵌入式显卡吗?这可能会占用你的一大块可用内存。如果您可以进入 BIOS 或同等内容,请检查一下。
@看内核参数欲了解更多信息mem=
答案2
我想你应该增加RAM Disk
内核的大小。
答案3
除了其他关于更具体的帖子之外,我还建议卸载(/dev/shm
如果已安装)。这是一个 ramdisk 文件系统,会占用你的 ram。
另外看看sysctl
linux下的命令。sysctl -w kernel.shmmax="<some number>"
在内核运行时执行诸如更改内核之类的操作。