Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

Linux 3Gb Memory Limit

Status
Not open for further replies.

fiber7

Member level 1
Joined
Mar 14, 2002
Messages
32
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,286
Activity points
286
linux 3gb

Dear all,

I'm making a synthesis for FPGA with xst, using the EDK platgen script.

When I reach around 3 Gb of used memory by my process, it stops with the error message "Segmentation Fault".
I'm using FC2, so the 2.6 kernel, but I tried also with a RH9 with kernel 2.4 and I had same results.

After reading some manuals I found that linux kernel has a limit of 3 Gb for each process.

Can anyone help me to solve this problem?

Thank you!

Fib
 

jimjim2k

Advanced Member level 3
Joined
May 17, 2001
Messages
996
Helped
23
Reputation
46
Reaction score
13
Trophy points
1,298
Activity points
7,192
linux memory limit

Hi

Here is my experinece

In Mandrake 9.2 I have setup it with more than 4G in theory. Mandrake comes with very strange kernel options let to have various kernels to be implemented in startup. You may try with mandrake.

tnx
 

fiber7

Member level 1
Joined
Mar 14, 2002
Messages
32
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,286
Activity points
286
linux kernel memory limit

Did you try to see if only ONE process can allocate more than 3 Gb?

I tell you what I found.

Linux kernel for 32 bit architectures has a hard limit of 3Gb of memory for each process.

Ingo Molnar, the 2.6 kernel scheduler author, made a patch called 4:4 which enables the kernel to allocate up to 4 Gb for a process, even if with some performance loss (in system calls) and some instability.

If you want to use more than 3Gb ( or more than 4 with this patch) you MUST use a 64 bit machine like the Opteron or Itanium.

Currently, I'm having this memory limit problem with the Xilinx flow, and we all know that Xilnx is not able to do good software.

I have not performed a big synthesis with synopsys yet, but I think that synopsys guys are smarter, and find some trick to bypass this problem, like making a fork() of the process when the memory limit is near to 3Gb and let the two or more process to communicate between each other with something like pipes.

Maybe it is not very performing, but at least it is possible to close a design.
With the XIlinx EDK and XST it is not possible at all!

I would like to receive some feedback from the ASIC flow side.

What to do with huge synthesis or P&R?

Cheers.

Fib.
 

gerryhsu

Full Member level 3
Joined
Oct 20, 2003
Messages
171
Helped
2
Reputation
4
Reaction score
0
Trophy points
1,296
Activity points
1,183
32 bit linux application memory limit

the limitation of 32bit database is from 2-4GB (2^32 = 4GB)
 

soway

Member level 3
Joined
Apr 9, 2004
Messages
58
Helped
8
Reputation
16
Reaction score
0
Trophy points
1,286
Location
China,SuZhou
Activity points
410
linux user memory limit

I remember there is a bigmem kernel pathch.
If it can support 4G and higher?

If you are using 32bit cpu,it can be addressed only 2^32 = 4GB,but what about we using 64bit AMD 64?

I don't think it caused by the kernel.

Added after 5 minutes:

"Increased kernel and user address space for X86 systems, allowing support for 64GB of main memory and larger user applications."----Redhat AS3.

May be this is for all process.Not only one process.
 

Status
Not open for further replies.

Similar threads

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Top