on 08-13-2007 4:03 PM
Hi
We have a NW2004s ABAP/JAVA system installed on Solaris x86 (HP AMD/Opeterons) Oracle 10.2. Our systems are installed in Solaris Zones.
Background WPs kill/restart on a regular basis (eg. up to 10 - 12 times/day) after exceeding the ABAP/HEAPLIMIT.
A WP has reached abap/heaplimit = 80000000 bytes
M
M Sun Aug 12 20:00:54 2007
M ThNeedWpRestart: abap strategy == kill, restart
M ThWpRestart: restart wp (pid=5724) automatically
This does not seem to correspond to an error occuring and I realise that kill/restart is the correct action when the HEAPLIMIT is execeded.
The question is therefore 'why we are exceeding the HEAPLIMIT value when we are running very little on the system' The processes that are restarting are not handling jobs that are running for a long time..
I have doubled the HEAPLIMIT at SAP recommendation from 40000000 to 80000000 but still no difference. Other than the HEAPLIMIT change the other SAP params are defaults.
Has anyone else seen this happening, specifically in the Solaris environment?
Regards, Billy
Hi Billy,
Welcome to SDN!
If found an old documentation about abap heaplimit, basically it sais that the value of abap/heaplimit should be smaller than abap/heap_area_dia or abap/heap_area_nondia for the process to continue without been killed; so if you doubled the value of abap/heaplimit it might be good to check the value of abap/heap_area_dia, abap/heap_area_nondia and abap/heap_area_total
Regards
Juan
Please reward with points if helpful
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Thanks for the quick response Juan, but just checked and I have the following settings:
abap/heap_area_dia = 2000000000
abap/heap_area_nondia = 2000000000
abap/heaplimit = 80000000
I have not seen this before... or at least have not noticed it happening so often.. but it's the first time that I've worked on a Solaris x86 system, so thought that their was maybe a connection.
Cheers
Hi Billy
I think you already know now, that abap/heaplimit controls after what amount of memory consumption a (batch) workprocess will be restarted.
>> Why did your change from 40mb to 80mb not change anything?
I guess there is a typical workload which often uses more then 80mb, so either the 40mb and the 80mb limit cause the process to restart.
>> Why is this parameter needed at all?
The reason is that batch workprocesses do allocate memory from the so called heap, which is private memory (opposite to shared memory). Only the one process can use this memory and it is free by killing this process.
So if you increase the limit further (until abap/heap_area_nondia at max) you will see less process restarts but more memory consumption from your heap (abap/heap_area_total) which is in fact physical memory at the end. You should not be worried to much of several restarts of a process per day. I would consider more than one restart per hour too much.
Best regards
Michael
'why we are exceeding the HEAPLIMIT value when we are running very little on the system' The processes that are restarting are not handling jobs that are running for a long time..
As already said, it has not anything to do with how long a job runs, it is just its memory consumption. 80mb is still quite small, sometimes even the SAP standard jobs take way more than 1gb.
Regards Michael
User | Count |
---|---|
87 | |
10 | |
10 | |
10 | |
7 | |
6 | |
6 | |
5 | |
5 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.