NPRao
15th November 2001, 03:34
Hi,

Does anyone have an idea on the Shared memory management in BaaN. We are having performance issues, we would like to reduce the size of allocated memory by BaaN Shell on the Unix System so that it does not get 100% busy or over loaded.
Are there any parameters that can be set somewhere in BaaN which affect the systems performance

Thanks!

patvdv
15th November 2001, 10:47
Hi,

The shared memory of Baan is there to improve your performance in the first place as it will prevent unnececssarly disk I/O when loading application or tools objects into user memory. You can configure your Baan shared memory to load only a minimal number of - mostly - tools objects which are the heavily used ones, like e.g. modules stp, dsk etc.

The amount of shared memory Baan claims on your UNIX system should be low compared to your total memory size. If we are talking about a production system I would expect you have at least 512MB of RAM, depending on the number of users of course. I would surprised if Baan takes more 32MB of that for its shared memory.

The real memory hogs are of course the client application processes that are started when users log in: bshell, database driver client process etc. There is not much you can do about the memory they can consume. This is the reason why you should properly size your system before going into production.

My bet is that if you are having a memory shortage (memory pressure) right now, you should be comparing your initial sizing requirements to your current situation and see if a memory upgrade is required.

On a side note: it is not because your memory is 100% used, that it is supposed to be bad. Rather you should look at your total memory (virtual) consumption and check your paging activity. If that is still relatively low (<10%), you can say you are using your system very efficiently where memory is concerned. If your paging ('swapping') is too high, then again you should consider a memory upgrade.

Some other things to check:
shared memory usage of your database (if residing on the same host)
UNIX buffer cache size (could be way too high)

Han Brinkman
15th November 2001, 11:33
There is at lease one parameter in ERP that effects the memory usage of the bshell process. Depeding on this parameter memory is allocated to store the complete plan of deliveries.

About a month ago one of our customers had the problem that each bshell allocated up to 400 Mb due to this parameter.

Normally a bshell should have a virtual memory size between 10 to 50Mb, that's normal.

Regards,
Han

JamesV
15th November 2001, 15:17
Okay Han -- you got me interested.

What application parameter are you talking about?

I have had customers inappropriately set up shared memory and table boosters with adverse results, or, db_resource settings but I have never heard about this one.

????


-- Jim

Han Brinkman
15th November 2001, 16:08
If I remember correctly it's the fourth parameter in the session called 'ERP performance parameters' but this is only valid if you check online if a delivery fit's in the plan. Sorry but I am not a logistic consultant.

Regards,
Han

NPRao
16th November 2001, 04:46
Han,

Thanks for your feedback. Is there a way to reduce virtual memory allocated for each bshell, oracle_bshell to less than 10mb ?

In our case, swap is getting reserved (not used) .
Each time a user logs in, bshell reserves about 10 mb swap space and the oracle_bshell process (spawned by bshell) reserves about 40 mb of swap . (total about 50-60 mb swap space is just reserved). The Real Space Usage by the processes (bshell +bshell_oracle is around 10 mb only).

Is there way to change the reserve space parameter for baan-oracle driver or the bshell driver ? If so how ?

Thanks

Han Brinkman
16th November 2001, 13:54
I only know that on, forgive me if I am wrong, Dec Unix/Ultrix you have an option to specify when exactly the OS has to reserve the swap space. In 'save mode' it's allocated during startup of the executable, in the other mode it's only allocated if it's really needed. In the latter option you can have the problem that if it's needed and not enough swap is available that the program crashs.

On AIX you can also limit the amount of internal memory given to a specific process. However that can lead to problems, if I remember well e.g. error 28.

Regards,
Han