cancel
Showing results for 
Search instead for 
Did you mean: 

Portal running on 32bit infrastructure: Memory tuning

waelkensd
Explorer
0 Kudos

Hi SAP community,

first of all. I know we need to migrate to 64bit and how to do it, but this is not the topic of this question. I'm looking for a short term fix (before an eventual move to 64bit).

So currently a customer is running an outdated Portal system (NW 04, 640 32bit kernel on Windows 2003 32bit with 12Gb RAM)

Logically they ran into performance issues and I have been looking into their configuration.

Here's an extract of the relevant memory entries from their Java server instances:

-Xmx1024M

-Xms1024M

-XX:MaxNewSize=171M

-XX:NewSize=171M

-XX:MaxPermSize=192M

-XX:PermSize=192M

The current Virtual Memory Utilisation of the server processes is about 1,35Gb, so there is still a margin to increase it somewhat keeping the memory limitations of a 32bit system in mind)

According to note 723909 this has all been setup as recommended by SAP. But they recommend to increase the permsize if additional applications are deployed.

So here are my questions.

1. Has anyone increased the heap to over 1024Mb on a 32bit system?

2.Would you opt for increasing the heap size with 256Mb instead of increasing the Perm Size with 256Mb?

3. Is there a reason why one would not set the /3GB option in the boot.ini file?

     See: Large memory support is available in Windows Server 2003 and in Windows 2000

     Currently this is the setting:

     multi(0)disk(0)rdisk(0)partition(1)\WINNT="Windows Server 2003, Enterprise" /fastdetect /noexecute=optout /pae

Related notes:

http://service.sap.com/sap/support/notes/664607

http://service.sap.com/sap/support/notes/736462

http://service.sap.com/sap/support/notes/853696

http://service.sap.com/sap/support/notes/313347

Thanks in advance for your advice 😉

Regards,

Dieter

Accepted Solutions (1)

Accepted Solutions (1)

former_member188883
Active Contributor
0 Kudos

Hi Dieter,

Could you check doubling the values for the parmeters below

-Xmx1024M

-Xms1024M

-XX:MaxNewSize=171M

-XX:NewSize=171M

-XX:MaxPermSize=192M

-XX:PermSize=192M

Post the test results.

Regards,

Deepak Kori

waelkensd
Explorer
0 Kudos

Hi Deepak,

thanks for your feedback. But I can't just do that. It's a production machine and the non prod systems don't have the same amount of memory. So this cannot be tested.

Anyway if I'd double everything, I'd surpass the 2Gb address limit per process on a 32bit system

Regards,

Dieter

former_member188883
Active Contributor
0 Kudos

Hi Dieter

With your configuration


Currently this is the setting:

      multi(0)disk(0)rdisk(0)partition(1)\WINNT="Windows Server 2003, Enterprise" /fastdetect /noexecute=optout /pae

with PAE enabled on your machine each process can address memory space upto 3GB.

So I feel that updating the memory values should help.

Regards,

Deepak Kori

waelkensd
Explorer
0 Kudos

Hi,

I'll give it a try on our quality system and will come back with the result

Thanks!

Dieter

waelkensd
Explorer
0 Kudos

Hi Deepak,

I tried this, but it didn't want to start at all

I set the following:

-Xmx1536M

-Xms1536M

-XX:MaxNewSize=256M

-XX:NewSize=256M

Since the system is that old it's better to just stop looking.

It feels like I'm trying to make a VW beetle drive like a Ferrari, kind of impossible... 😉

Thanks anyway for the susggestions

D.

Former Member
0 Kudos

It has been almost 10 years the last time I configured AS JAVA on a 32-bit Windows system. That said, the best I was able to configure with the /3GB switch was about 1200M of heap, 256M of new size and 192M of perm size. As you have discovered, you are running into memory constraints of the operating system, not Java. I remember using a SAP provided utility to remap DLLs, that gained another 100-200M. I don't remember anymore if configuring additional server nodes helped, it will if they are separate processes but I do know that you can install additional dialog instances to take advantage of the physical memory of the server.

Matt_Fraser
Active Contributor
0 Kudos

Dieter,

Do you have /PAE enabled?  Given that you have 12 GB of physical memory, I would avoid using /3GB and instead use /PAE.  Each process will still only get 2 GB of memory for its use, but this way you can have multiple processes each with its own 2 GB memory space.  So, don't increase the heap size of your Java process more than 1 GB (where you already have it), but instead enable /PAE and then add one or more additional Java server processes.

Have a look at these Microsoft blogs for more information:

PAE and /3GB and AWE oh my... - Sql Stuff - Site Home - MSDN Blogs

\3GB \PAE and AWE - Taking away (some) confusion... - There's Something about SQL! - Site Home - Te...

Regards,

Matt

waelkensd
Explorer
0 Kudos

Hi,

thanks a lot for the info.

Well, there are 3 server processes right now and each has been configured as mentioned above.

The system itself will be decommissioned soon, so I'm not going to put too much time in it anymore.

Thanks anyway for the advice.

D.

waelkensd
Explorer
0 Kudos

hi Matt,

Yep, the PAE switch is enabled.

I'll just leave it as it is.

Thanks anyway

D.

Answers (1)

Answers (1)

Reagan
Product and Topic Expert
Product and Topic Expert
0 Kudos

Hello

The SAP note 723909 - Java VM settings for J2EE 6.40/7.0 recommends to start the server nodes with 1 GB of heap and it is not the final value.

If the portal is running on SAP JVM then I suggest to check this SAP note 1603093 - SAP JVM 4.1 parameters NetWeaver 2004 and 7.0 as it suggests to set a higher value for PermSize and NewSize parameters.

What matters is whether there is sufficient memory available on the machine to let the J2EE system use them if you increase these values.

You may investigate whether there is frequent GC's happening on the system and see where exactly it is happening.

Regards

RB

waelkensd
Explorer
0 Kudos

Hi Benjamin,

thanks.

Not on sapjvm yet. And waiting for the approval 🙂

Memory is not the issue, the host itself is powerful enough.

Regards,

Dieter