UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

AR# 12025

4.1i PAR - HP machines run out of memory due to artificial 1Gb memory limit

Description

Keywords: PAR, portability, HP, out, memory

Urgency: Hot

General Description:
PAR runs out of memory on an HP machine at 1Gb of memory usage, despite the fact that 4Gb of memory are still available.

(A test program shows that this problem is independent of PAR and is likely to occur with other memory-intensive applications, as well.)

Solution

The problem arises because HP divides the total memory available to a process into quadrants; therefore, the program's data space is really only 1Gb (less some significant overhead.)

We have obtained instructions from HP on modifying an executable to allow it to use for "data" a 1Gb-block of memory normally reserved for shared libraries. It has been verified that this fixes the 1Gb "out of memory" problem.

The method requires that you have optional software development tools installed on your HP machine, and that the tools are current as of at least December 2000.

The change is made by:

chatr +q3p enable +pd 1M $XILINX/bin/hp/par

It changes the executable from:

third quadrant private data space disabled
data page size: D (default)

to:

third quadrant private data space enabled
data page size: 1M

The "+q3p enable" allows PAR to access more memory.

The "+pd 1M" sets the default memory allocation to 1Mb. Without it, the process can exceed the limit on the number of swapfile blocks allocated. This will also improve PAR's HP performance.

NOTE: This "chatr" command is a one-time operation that modifies the PAR executable. It is not used to actually run the PAR executable.
AR# 12025
Date Created 08/29/2007
Last Updated 10/20/2008
Status Archive
Type General Article