Why the limit of MEM are difference between tow OpenFire server

My Openfire is 3.6.3.

I have two Linux servers:

First server has memory: 3632576

Second server has memory: 8182972

It is very strange about limit of memory,

on first server, I can set maximum memory is 1792m,

but on second server, I just can set maximum memory is 1536m.

I don’t know why different between them, and I had already closed all other JVM applications, and “free” returned follow information:

first server:

            total          used        free         shared     buffers     cached

Mem: 3632576 747900 2884676 0 147548 315884

second server:

           total           used         free         shared     buffers     cached

Mem: 8182972 4837376 3345596 0 318084 3999588

Who can tell me what is problem and how to set tham

Thanks

Does these servers use the same OS?

yes, they are different.

one is Red Hat Linux release 8.0 (Psyche);

other is CentOS release 5 (Final);

But I don’t know why can not import the limit of memory, and I has already shutted down some other applications to release the memory , and many free memory does not used.

And how do I do I can import the limit of memory to 2048M.

RH 8.0? Looks like very old I’m not sure, but this can be also a limitation ov Java JVM. What Java versions are on both servers?

Red Hat Linux release 8.0 (Psyche): (limit is 1536M)

java version “1.6.0_14”

Java™ SE Runtime Environment (build 1.6.0_14-b08)

Java HotSpot™ Server VM (build 14.0-b16, mixed mode)

CentOS release 5 (Final): (limit is 1792M)

java version "1.5.0_12"
Java™ 2 Runtime Environment, Standard Edition (build 1.5.0_12-b04)
Java HotSpot™ Client VM (build 1.5.0_12-b04, mixed mode, sharing)

About this my root question is how can set the MEM limit is 2048M, now I just can set it with 1536M. it is not enough for me

Could you help me, thanks.