Linux最低可用内存设置,linux下可用内存只有不到4G

硬件没报错,free -m查出的总内存还不到4G,最后居然是升级kernel时,没有升级成kernel-pae版本,而是标准的版本,所以内核可控制的总内存就有限,呵呵。。

操作系统在32bit x86平台上最大寻址空间只有4GB,如果要使用大于4GB的内存,就必须使用Intel的PAE(物理地址扩展)模式。在Windows NT平台实现PAE只需要对boot.ini加上/pae即可。而对于RHEL5,缺省安装模式下是不允许检测超过4GB内存,所以我们需要在内核安装完毕后再安装kernel-PAE套件。

x86平台的硬件支持两级页表,Intel Pentium pro以上的型号均支持PAE和三级页表,使得系统最大寻址达到36位,就是64GB的内存。但是系统进程运行时使用的永远是虚拟地址,在32位字长的i386机器上,一个进程永远无法访问超出4G的字节。kernel只能通过拼凑的方式计算出大于4G的内存地址。

在Linux kernel配置项里有High Memmory Support, 如果总内存小于等于1G的选"off",大于4G的选"64G"

Note: Linux can use up to 64 Gigabytes of physical memory on x86 systems. However, the address space of 32-bit x86 processors is only 4 Gigabytes large. Thus means that, if you have a large amount of physical memory, not all of it can be "permanently mapped" by the kernel. The physical memory that's not permanently mapped is called "high memory".

还有一项Allocate 3rd-level pagetables from highmem,使用这一项可以在内存很多(大于4G)的机器上将用户空间的页表放到高位内存区,以节约宝贵的低端内存。

缺省安装的内核不允许红帽企业 Linux 5检测超过 4GB 的内存。因此,如果你的系统有超过 4GB 的内存,你将需要在内核安装完毕后再安装 kernel-PAE 套件。

关解决方法如下:

主要需要2个方面设置:

1.bios:在bios里开启对大内存的设置

2.安装支持大内存的kernel

centos 5.0 默认安装 for i386的内核不支持 4g+的内存需要安装上kernel-PAE(原kernel-hugemem包)操作很简单!

1.#yum install kernel-PAE

2.#vi /boot/grub/grub.conf

boot=/dev/md0

default=0

timeout=5

splashp_w_picpath=(hd0,0)/grub/splash.xpm.gz hiddenmenu

修改设置为默认启动 default=0

3.#init 6

重启服务器后我们可以free发现正常

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值