改用PAE内核让32位Linux支持4GB以上的内存

2011年4月,我在网上买了一条4G金士顿的笔记本内存(DDR3 1333),花了275.00元(不含邮费)。

几个月前,我舍友买了一条同样的4G内存条,花了156.00元。

今天在网上看了一下,同样的内存只需要120元左右就够了。

一年还不到,这个降价太离谱啦!!!

因为大部分在32位的Linux下娱乐工作学习,所以在我电脑上最多只能使用到3GB多的内存。

直到今天,我才真正的把这条4G内存用上场。有点可惜了 🙁

PAE是Physical Address Extension,最初是为了弥补32位地址在PC服务器应用上的不足而推出的。更新至支持PAE的Linux内核,可以让你的32位Linux支持最大64GB内存。

更新步骤很简单,在终端执行下面一句或者在软件包管理器里选择安装linux-generic-pae:

apt-get install linux-generic-pae


我的安装过程:

root@xiaoxia-pc:~# apt-get install linux-generic-pae
正在读取软件包列表… 完成
正在分析软件包的依赖关系树
正在读取状态信息… 完成
将会安装下列额外的软件包:
linux-image-2.6.38-13-generic-pae linux-image-generic-pae
建议安装的软件包:
fdutils linux-tools
下列【新】软件包将被安装:
linux-generic-pae linux-image-2.6.38-13-generic-pae linux-image-generic-pae
升级了 0 个软件包,新安装了 3 个软件包,要卸载 0 个软件包,有 6 个软件包未被升级。
需要下载 36.0 MB 的软件包。
解压缩后会消耗掉 114 MB 的额外空间。
您希望继续执行吗?[Y/n]y
获取:1 http://debian.ustc.edu.cn/ubuntu/ natty-proposed/main linux-image-2.6.38-13-generic-pae i386 2.6.38-13.56 [36.0 MB]
获取:2 http://debian.ustc.edu.cn/ubuntu/ natty-security/main linux-image-generic-pae i386 2.6.38.13.28 [2,530 B]
获取:3 http://debian.ustc.edu.cn/ubuntu/ natty-security/main linux-generic-pae i386 2.6.38.13.28 [2,514 B]
下载 36.0 MB,耗时 9分 31秒 (63.0 kB/s)
选中了曾被取消选择的软件包 linux-image-2.6.38-13-generic-pae。
(正在读取数据库 … 系统当前共安装有 188600 个文件和目录。)
正在解压缩 linux-image-2.6.38-13-generic-pae (从 …/linux-image-2.6.38-13-generic-pae_2.6.38-13.56_i386.deb) …
Done.
选中了曾被取消选择的软件包 linux-image-generic-pae。
正在解压缩 linux-image-generic-pae (从 …/linux-image-generic-pae_2.6.38.13.28_i386.deb) …
选中了曾被取消选择的软件包 linux-generic-pae。
正在解压缩 linux-generic-pae (从 …/linux-generic-pae_2.6.38.13.28_i386.deb) …
正在设置 linux-image-2.6.38-13-generic-pae (2.6.38-13.56) …
Running depmod.
update-initramfs: Generating /boot/initrd.img-2.6.38-13-generic-pae
Examining /etc/kernel/postinst.d.
run-parts: executing /etc/kernel/postinst.d/dkms 2.6.38-13-generic-pae /boot/vmlinuz-2.6.38-13-generic-pae
* dkms: running auto installation service for kernel 2.6.38-13-generic-pae
* virtualbox-ose (4.0.4)… [fail]
* fglrx (8.840)… [fail]
* blcr (0.8.2)… [fail]
dkms: WARNING: linux headers are missing, which may explain the above failures.
please install the linux-headers-2.6.38-13-generic-pae package to fix this.
run-parts: executing /etc/kernel/postinst.d/initramfs-tools 2.6.38-13-generic-pae /boot/vmlinuz-2.6.38-13-generic-pae
run-parts: executing /etc/kernel/postinst.d/pm-utils 2.6.38-13-generic-pae /boot/vmlinuz-2.6.38-13-generic-pae
run-parts: executing /etc/kernel/postinst.d/zz-update-grub 2.6.38-13-generic-pae /boot/vmlinuz-2.6.38-13-generic-pae
Generating grub.cfg …
Found linux image: /boot/vmlinuz-2.6.38-13-generic-pae
Found initrd image: /boot/initrd.img-2.6.38-13-generic-pae
Found linux image: /boot/vmlinuz-2.6.38-13-generic
Found initrd image: /boot/initrd.img-2.6.38-13-generic
Found linux image: /boot/vmlinuz-2.6.38-12-generic
Found initrd image: /boot/initrd.img-2.6.38-12-generic
Found linux image: /boot/vmlinuz-2.6.38-11-generic
Found initrd image: /boot/initrd.img-2.6.38-11-generic
Found linux image: /boot/vmlinuz-2.6.38-10-generic
Found initrd image: /boot/initrd.img-2.6.38-10-generic
Found linux image: /boot/vmlinuz-2.6.38-8-generic
Found initrd image: /boot/initrd.img-2.6.38-8-generic
Found memtest86+ image: /boot/memtest86+.bin
Found Windows 7 (loader) on /dev/sda2
Found Windows Recovery Environment (loader) on /dev/sda4
done
正在设置 linux-image-generic-pae (2.6.38.13.28) …
正在设置 linux-generic-pae (2.6.38.13.28) …

有几个内核模块需要重新编译,所以下载安装PAE的header文件。

root@xiaoxia-pc:~# apt-get install linux-headers-2.6.38-13-generic-pae
正在读取软件包列表… 完成
正在分析软件包的依赖关系树
正在读取状态信息… 完成
下列【新】软件包将被安装:
linux-headers-2.6.38-13-generic-pae
升级了 0 个软件包,新安装了 1 个软件包,要卸载 0 个软件包,有 6 个软件包未被升级。
需要下载 808 kB 的软件包。
解压缩后会消耗掉 10.8 MB 的额外空间。
获取:1 http://debian.ustc.edu.cn/ubuntu/ natty-proposed/main linux-headers-2.6.38-13-generic-pae i386 2.6.38-13.56 [808 kB]
下载 808 kB,耗时 14秒 (57.2 kB/s)
选中了曾被取消选择的软件包 linux-headers-2.6.38-13-generic-pae。
(正在读取数据库 … 系统当前共安装有 192684 个文件和目录。)
正在解压缩 linux-headers-2.6.38-13-generic-pae (从 …/linux-headers-2.6.38-13-generic-pae_2.6.38-13.56_i386.deb) …
正在设置 linux-headers-2.6.38-13-generic-pae (2.6.38-13.56) …
Examining /etc/kernel/header_postinst.d.
run-parts: executing /etc/kernel/header_postinst.d/dkms 2.6.38-13-generic-pae /boot/vmlinuz-2.6.38-13-generic-pae
* dkms: running auto installation service for kernel 2.6.38-13-generic-pae
* virtualbox-ose (4.0.4)… [ OK ]
* fglrx (8.840)… [ OK ]
* blcr (0.8.2)… [fail]

blcr编译失败了。。。

不过不管了,它是OpenMPI里的一个东西,为了学习高性能计算而安装的,现在删除它也OK!

重启后效果:

🙂 惊奇地得到5.8GB的内存了。

平常使用笔记本的时候,要是CPU不给力,我还可以等等。但要是内存不足了,轻则硬盘效率下降,重则程序崩溃。

改用PAE内核让32位Linux支持4GB以上的内存》有33个想法

  1. 安装Ubuntu若内存大于3.25G会自动启用PAE特性呢~我很喜欢这一点。。
    另外,Linux占内存真心少啊,5.8G怎么用的完?@.@

    回复
      1. Xiaoxia 文章作者

        的确!
        用久了,Linux的内存会占用很多,但是大部分只是磁盘缓冲区占用的比较多。实际应用程序占用的内存可能不到1GB. 所以机器的性能还是比较高的。

        回复
    1. Xiaoxia 文章作者

      开两个虚拟机,每个500M内存。再开一个chrome,打开50来个网页。就基本上over了吧~

      回复
    1. Xiaoxia 文章作者

      呃。。。需要重装系统,不少软件也不兼容吧。
      所以考虑了一下,还是PAE好了。更新一个内核比更新整个系统容易多了 🙂

      回复
    1. Xiaoxia 文章作者

      T_T 当时买的市场价就这么贵!!!现在便宜好多了。
      bigmem内核什么原理???
      我只知道可以apt-get一个PAE内核来支持大内存。(4MB一个页表的)

      回复
      1. 小兔

        Linux VPS-64294700 2.6.32-5-686-bigmem #1 SMP Mon Jan 16 16:42:05 UTC 2012 i686

        bigmem 内核就是支持大于4G的……

        执行 apt-cache search linux-image 就看到各种内核鸟

        回复
  2. Voss

    小虾,你上次推荐我买上网本,我现在每个星期就凑100元,我看中了二手的EPC 700 512内存(可升级到2G),2GB的固态硬盘,怎样?7寸的

    回复
    1. Xiaoxia 文章作者

      你一定要追求本本么?你想买多少钱的?
      我现在手上有一台300多块买回来的ibm二手主机呢。。。

      回复
  3. maple

    建议直接上64位linux,我试过的archlinux和ubuntu完全没有任何兼用问题,速度明天提升,当然内存占用也是啦
    ps:你的内存确实买贵了,淘宝上可以点一下按价格排序

    回复
    1. Xiaoxia 文章作者

      据说debian更省内存?我中学的时候是一直用debian的,当时的笔记本只有128M内存 🙂

      回复
      1. vdo

        但ubuntu论坛上有人说debian的驱动不是很全。我等懒人当初就是看中了它有社区支持以及打包了海量驱动:-D

        回复

回复 spin6lock 取消回复

您的电子邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据