应读者要求,Phoronix.com近日对Linux内核进行了一次特殊的性能测试,对比了32位、32位加物理地址扩展(PAE)、64位三种不同模式的表现。Linux系统之父Linus Torvalds此前曾经说过,在开启和关闭CONFIG_HIGHMEM4G(可让32位系统支持4GB物理内存)的系统内核之间存在25%的性能差异。这里就来验证一番。

  本次测试采用联想ThinkPad T61笔记本和Ubuntu 9.10系统,硬件配置包括Core 2 Duo T9300处理器、4GB内存、日立100GB HTS7220 SATA硬盘、NVIDIA Quadro NVS 140M显卡,系统和软件配置保持默认,包括Linux 2.6.31 Kernel内核、GNOME 2.28.1桌面环境、X Server 1.6.4、NVIDIA 195.22显卡驱动、GCC 4.4.1编译器、EXT4文件系统。

  Ubuntu 32位内核默认开启了CONFIG_HIGHMEM4G,但PAE模式是关闭的,这样在系统配置4GB内存的时候会有1GB保留给内核虚拟空间,用户实际 可用的只有3GB,而Ubuntu PAE内核使用的是CONFIG_HIGHMEM64G,能处理最多64GB内存。当然64位内核是不存在这种内存寻址空间局限的,也是未来大势所趋。

  测试中,Ubuntu 32位PAE模式开启了CONFIG_X86_CMPXCHG64、CONFIG_HIGHMEM64G instead of CONFIG_HIGHMEM4G、CONFIG_X86_PAE、CONFIG_ARCH_PHYS_ADDR_T_64BIT、 CONFIG_PHYS_ADDR_T_64BIT、CONFIG_I2O_EXT_ADAPTEC_DMA64,并关闭 CONFIG_ASYNC_TX_DMA,其他均与32位非PAE模式一致。

apache_benchmark_v2.2.11.png

bullet_physics_engine_v2.75.png

bullet_physics_engine_v2.75_2.png

C-ray_v1.1.png

gcrypt_library_v1.4.4.png

gnupg_v1.4.9.png

graphicsmagick_v1.3.7.png

john_the_ripper_v1.7.3.1.png

openarena_v0.8.1.png

openssl_v0.9.8k.png

postgresql_pgbench_v8.4.0.png

postmark_v1.51.png

timed_mafft_alignment_v6.706.png

x264_v2009-11-18.png

  14项测试下来,我们发现Ubuntu使用32位普通内核或者32位加PAE模式内核完全没有任何性能差异,抛去误差因素之后得分全部一致。当然,这里使用的内存只有4GB,是目前高端用户的常见配置,或许加到8GB、16GB乃至更多之后能看到一些性能上的区别。

  同时也可以看出,64位内核的性能优势非常明显,出去第一项《OpenArena》(雷神之锤3竞技场的开源内容包)游戏之外全部居于领先,游戏时候幅度甚至非常吓人(Apache测试中就达到了17倍),所以除非有技术原因或者环境限制,大内存用户就没必要在32位内核与PAE模式上纠结了,直奔64位才是王道。

文/驱动之家http://news.mydrivers.com/1/152/152978.htm



© 活着的博客 - 李权辉的个人博客:人,终究是生活在现实之中,是为了活着而生活.