1. Computers
  2. Display Drivers
  3. Graphics Cards
  4. Memory
  5. Motherboards
  6. Processors
  7. Software
  8. Storage
  9. Operating Systems


Facebook RSS Twitter Twitter Google Plus


Phoronix Test Suite

OpenBenchmarking Benchmarking Platform
Phoromatic Test Orchestration

Ubuntu 32-bit, 32-bit PAE, 64-bit Kernel Benchmarks

Michael Larabel

Published on 30 December 2009
Written by Michael Larabel
Page 1 of 5 - 41 Comments

Coming up in our forums was a testing request to compare the performance of Linux between using 32-bit, 32-bit PAE, and 64-bit kernels. This is coming after Linus Torvalds has spoke of 25% performance differences between kernels using CONFIG_HIGHMEM4G and those without this option that allows 32-bit builds to address up to 4GB of physical RAM on a system. We decided to compare the performance of the 32-bit, 32-bit PAE, and 64-bit kernels on a modern desktop system and here are the results.

For this comparison we used Ubuntu 9.10 on a Lenovo ThinkPad T61 notebook running an Intel Core 2 Duo T9300 processor, 4GB of system memory, a 100GB Hitachi HTS7220 SATA HDD, and a NVIDIA Quadro NVS 140M. We were using the Ubuntu-supplied kernels that are based off the Linux 2.6.31 kernel in Ubuntu Karmic. Other packages that were maintained included GNOME 2.28.1, X Server 1.6.4, NVIDIA 195.22 display driver, GCC 4.4.1, and we were using the default EXT4 file-system with all other defaults. With Ubuntu to properly address 4GB or greater of system memory you need to use a PAE kernel as the Physical Address Extension support through the kernel's high-mem configuration options are not enabled in the default 32-bit kernels. CONFIG_HIGHMEM4G is enabled in the default Ubuntu kernel, but the Ubuntu PAE kernel uses CONFIG_HIGHMEM64G (and other build options) for handling up to 64GB of system memory. Of course, with 64-bit addressing there is not this greater than 4GB RAM limitation. Though even with a 32-bit non-PAE kernel the system will only report 3GB of system memory by default due to 1GB of that being reserved for kernel virtual addresses while the 3GB is available to user-space addresses.

The only differences in the kernel configuration between Ubuntu's PAE and non-PAE 32-bit kernels are enabling the 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, and disabling CONFIG_ASYNC_TX_DMA. The rest of the kernel configuration is the same. The Linux kernel also requires that the CPU itself supports PAE, but these days that is practically all Intel and AMD processors.

Among the tests we ran on the three Linux 2.6.31 kernels with the Phoronix Test Suite were OpenArena, Apache, PostgreSQL, Bullet, C-Ray, Gcrypt, GnuPG, GraphicsMagick, timed MAFFT alignment, John The Ripper, OpenSSL, x264, and PostMark.

With the ioquake3-powered OpenArena game there were virtually no performance differences between the 32-bit, 32-bit PAE, and 64-bit kernels. We had ran other OpenGL-powered tests too through the Phoronix Test Suite and found no significant differences, so we are just sharing one set of numbers in this article to avoid repetition.

While the different kernels had not affected the gaming performance with our Core 2 Duo laptop running with 4GB of system memory, the Apache performance was significantly affected. The stock Ubuntu 32-bit kernel had managed to 473 requests per second while the PAE kernel dropped just slightly with its 467 request average, but meanwhile the 64-bit support was many times faster with its 7,989 requests per second count.

Latest Articles & Reviews
  1. Sub-$20 802.11n USB WiFi Adapter That's Linux Friendly
  2. The Lenovo T450s Is Working Beautifully With Linux
  3. Linux 4.0 SSD EXT4 / Btrfs / XFS / F2FS Benchmarks
  4. Linux 4.0 Hard Drive Comparison With Six File-Systems
  5. Lenovo ThinkPad T450s Broadwell Preview
  6. How Open-Source Allowed Valve To Implement VULKAN Much Faster On The Source 2 Engine
Latest Linux News
  1. GCC 5.1 RC2 Arrives, GCC 5.1 Planned For Next Week
  2. F2FS For Linux 4.1 Has New Features & Fixes
  3. Phoronix Server Upgrade This Weekend: Dual Haswell Xeons, 96GB DDR4
  4. Google's Experimental QUIC Transport Protocol Is Showing Promise
  5. Red Hat Joins Khronos, The Group Behind OpenGL & Vulkan
  6. NetworkManager Drops WiMAX Support
  7. Wine 1.7.41 Works More On Kernel Job Objects, MSI Patches
  8. Linux 4.1 Has Improvements For The Multi-Queue Block Layer
  9. X.Org Looks To Have Six Summer Projects
  10. DragonFlyBSD Pulls In GCC 5 Compiler
Most Viewed News This Week
  1. Nouveau: NVIDIA's New Hardware Is "VERY Open-Source Unfriendly"
  2. Linux 4.0 Kernel Released
  3. Microsoft Announces An LLVM-Based Compiler For .NET
  4. Linux 4.1 Brings Many Potentially Risky x86/ASM Changes
  5. Encryption Support For EXT4
  6. VirtualBox 5.0 Beta 2 Released
  7. Mozilla Start Drafting Plans To Deprecate Insecure HTTP
  8. Elementary OS 0.3 "Freya" Now Available