[CentOS] CENTOS 5.5 X86 continue get "out of memory" error?????

Thu Nov 25 15:19:37 UTC 2010
Robert Heller <heller at deepsoft.com>

At Thu, 25 Nov 2010 21:38:42 +0800 (CST) CentOS mailing list <centos at centos.org> wrote:

> 
> Anyway to make it work on CENTOS 4.8 X86?
> 
> We don'y want use X86_64 or Virtulation due to application issue (DB).

Do you know for sure that the application cannot run as a 32-bit
application under a 64-bit kernel?  Have you tested it?  Nobody is
suggesting that you re-compile for 64-bits and you don't need to.

Note: a 32-bit application process can only access 4gig max (this is
its address space limit).  You realize that any given *32-bit* process
[tree] can never access more than 1/16th of the 64gig of physical RAM.
Even if your application is multi-threaded, the total combined address
space of a 32-bit multi-threaded process tree is 4gig (the threads
share the same address space).  If you are running multiple
*independent* processes, that yes you can use more memory, but no more
than 4gig per 32-bit process [tree].  Do you understand what this
means?  Do you understand that running a 32-bit OS on a machine with
64gig of physical RAM is pretty much meaningless, and as you have
discovered does not work well.

The PAE kernel only really works properly upto 16gig.  You can switch to
the hugemem kernel and take a performance hit.

Your options:

1) pull 48gig of ram out of the machine and go from there.  With the PAE
kernel you can't really use that 'extra' 48gig of RAM anyway (as you
have discovered).

2) switch to the hugemem kernel and accept the performance hit (this is
probably a lose-lose option).  There is no real advantage to do this.

3) install the 64-bit kernel but continue to use 32-bit user space
application code.  This really should work.  Have you even tried this? 
Eg on a test system.  It really is not going to cost much to get a
'little' 64-bit desktop machine and install the x86_64 system and see
what happens when you run your application.

4) install xen with a 64-bit kernel dom0 and install one (or more)
32-bit domUs (with reasonable amounts of RAM (eg 4gig) and run your
application in the 32-bit domUs.  Your application should not know the
difference -- it will see a 32-bit environment.  Have you even tried
this, Eg on a test system (see above).

> 
> how come we been run CENTOS 3.9 X86 on this server for few years and NO problem?

CentOS 3 uses a 2.4 kernel, which is different from the 2.6 kernels in
CentOS 4 and 5. I'm guessing you *probably* had installed the hugemem
kernel, which would have 'worked' (as in not caused the problems you
are seeing).  It is also possible that the 2.4 kernel simply did not
'see' the 64gig of RAM or something like that (kernel bug or kernel
limitation). 

> 
> --- 10/11/24 (三),Kwan Lowe <kwan.lowe at gmail.com> 寫道:
> 
> > 寄件者: Kwan Lowe <kwan.lowe at gmail.com>
> > 主旨: Re: [CentOS] CENTOS 5.5 X86 continue get "out of memory" error?????
> > 收件者: "CentOS mailing list" <centos at centos.org>
> > 日期: 2010年11月24日,三,下午7:31
> > On Wed, Nov 24, 2010 at 7:27 PM,
> > mcclnx mcc <mcclnx at yahoo.com.tw>
> > wrote:
> > > Thank you for answer.
> > >
> > > This server used to run under CENTOS 3.9 X86 and No
> > problem. ç—ƒue to application can not use CENTOS 3.9 we need
> > upgrade to CENTOS 4 or 5.
> > >
> > > If I re-install it and use CENTOS 4.8 X86, will
> > problem gone or not?
> > 
> > No, problem will remain.
> > _______________________________________________
> > CentOS mailing list
> > CentOS at centos.org
> > http://lists.centos.org/mailman/listinfo/centos
> > 
> 
> 
>       
> _______________________________________________
> CentOS mailing list
> CentOS at centos.org
> http://lists.centos.org/mailman/listinfo/centos
> 
>     

-- 
Robert Heller             -- 978-544-6933 / heller at deepsoft.com
Deepwoods Software        -- http://www.deepsoft.com/
()  ascii ribbon campaign -- against html e-mail
/\  www.asciiribbon.org   -- against proprietary attachments