SLES8: Ingres Database load causes high CPU utilization

(Last modified: 08Jun2005)

This document (10097902) is provided subject to the disclaimer at the end of this document.

goal

SLES8:  Ingres Database load causes high CPU utilization

fact

SLES8 SP3 x86 architecture

Ingres Database for Linux

symptom

Output from the top command showed high CPU utilization - additionally, the kswapd process would occasionally consume a majority of the CPU cycles.

cause

The customer was running a large, production database on SLES8 on a 32 bit Intel architecture.  Even though the system has 16 GB of memory, periods of slow response time were observed.

The 32 bit architecture for Linux has an address space of 4 GB (2 ** 32.)  Thus, the 2.4 kernel has to employ a mapping scheme in order to access memory above 4 GB.  This scheme for accessing the additional memory incurs extra overhead, as compared to architectures that have a larger address space. 

Additionally the kswapd daemon, which is responsible for swapping pages of memory to disk during high utilization, incurred heavy overhead because of the large number of 4k pages that needed to be examined, with 16 GB of memory.

fix

The customer was given 3 choices to correct the problem:
- move to a 64 bit architecture
- install the database on a raw disk partition
- upgrade to SLES9

The first solution increases the memory address space significantly, thus alleviating the need to swap pages as often.  The second solution speeds up disk access by the database significantly, as it bypasses the Virtual File System interface, and the DB (in this case Ingres) directly manages the raw partition.  The disadvantage of this approach is that it becomes difficult to backup the database, and the database vendor must supply a backup solution.

The third solution (upgrading to SLES9) was the one implemented by the customer.  SLES9 uses the 2.6 Linux kernel, which had significant improvements made in memory management.  The customer reported that database performance improved significantly, compared to running the application on SLES8.

document

Document Title: SLES8:  Ingres Database load causes high CPU utilization
Document ID: 10097902
Solution ID: NOVL102324
Creation Date: 08Jun2005
Modified Date: 08Jun2005
Novell Product Class:Linux

disclaimer

The Origin of this information may be internal or external to Novell. Novell makes all reasonable efforts to verify this information. However, the information provided in this document is for your information only. Novell makes no explicit or implied claims to the validity of this information.
Any trademarks referenced in this document are the property of their respective owners. Consult your product manuals for complete trademark information.