Bug 620635

Summary: ulimit virtual memory too small
Product: [openSUSE] openSUSE 11.3 Reporter: Jeremy Figgins <jeremy.figgins>
Component: OtherAssignee: E-mail List <bnc-team-screening>
Status: RESOLVED DUPLICATE QA Contact: E-mail List <qa-bugs>
Severity: Normal    
Priority: P5 - None CC: jengelh
Version: RC 2   
Target Milestone: ---   
Hardware: i686   
OS: openSUSE 11.3   
Whiteboard:
Found By: --- Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---

Description Jeremy Figgins 2010-07-07 19:44:34 UTC
User-Agent:       Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.4) Gecko/20100611 SUSE/3.6.4-3.2 Firefox/3.6.4

The symptom is that when compiling a large software package, I hit "virtual memory exhausted" errors. This is on a 32-bit machine with 512MB physical RAM and a 2GB swap file.

"ulimit -v" returns 378080 (or 378MB) and setting the virtual memory higher with "ulimit -v 3780800" allows the compilation to complete.

This problem also occurred in RC1.

The error message is:

[ 41%] Building CXX object src/alps/CMakeFiles/alps.dir/alea/observablefactory.C.o                                                                                                  
virtual memory exhausted: Cannot allocate memory                                                                                                                                    
make[2]: *** [src/alps/CMakeFiles/alps.dir/alea/observablefactory.C.o] Error 1
make[1]: *** [src/alps/CMakeFiles/alps.dir/all] Error 2
make: *** [all] Error 2


Reproducible: Always

Steps to Reproduce:
1.
2.
3.
Comment 1 Jeremy Figgins 2010-07-09 00:06:42 UTC
An update to my previous post:

The machine is a laptop with 512MB physical RAM, 480MB of which is available to the OS (the other 32MB goes to the video card). Upon first boot, I created a swap file (dd if=/dev/zero of=/swap bs=4k count=512000 && mkswap /swap), inserted it into /etc/fstab, and then turned it on (swapon -a). After doing this, ulimit -a returned 378080. After a reboot, ulimit -a returns the correct amount 2016480.

Is there some command that I need to run after "swapon"? Or should the system automatically correct ulimit?

The 378MB number doesn't seem to correspond to any of the memories on the system:
2GB swap
512MB physical
480MB available
32MB video memory

Where is SuSE getting this number?
Comment 3 Kun Kun Zhang 2012-03-08 02:57:46 UTC
Long time no response.So colsed.Feel free to reopen it.Thanks.
Comment 4 Kun Kun Zhang 2012-03-08 13:41:33 UTC
Long time no response.So closed.Feel free to reopen it.Thanks
Comment 5 Jan Engelhardt 2012-03-15 16:25:09 UTC
Revert bogus NORESPONSE close.

Jeremy: 378 = 80% of 472 MB (-> there are your 480MB, roughly)

/etc/sysconfig/ulimit  SOFTVIRTUALLIMIT="80"

*** This bug has been marked as a duplicate of bug 672055 ***