× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



Point taken, although you can tune shared pools quite reasonably if you understand them and how the parameters work and both Java and SQL can be made to behave quite well.

That said: I have never really been a fan of the autotune function in the OS (and dislike the OEM tuning products equally) because the granularity is not there to manage the environement. Auto tune is like driving a car down the freeway at 65MPH by looking into the rear view mirror. You _can_ keep the car in the lane successfully but your always reacting to what _/was/_ in front of you, not was_/is /_in front of you.

Autotune functions are the same way, they can only react to what was, and apply an algorithm that levels out historical data to make the settings. The reason is works for the most part is most customers environments don't change all that much so over time it tends to settle in on a reasonable configuration. Manual tuning is much more efficient once the administrator understands the environment.

Using a private pool as you suggest, unless it is really needed, defeats IBM i's ability to manage memory between jobs and tasks and takes you back to the System/38 days of performance management. Private pools can also increase the need for memory on the machine by quite a bit because the intelligent paging cannot be used. Rather, use shared pools. Put jobs of like type in a single shared pool and let the OS do it's thing. Just turn the auto tune function off and manage it yourself. That will avoid the problem you point out which is not only a Java JVM issue but also affects SQL performance.

The unfortunate thing is this all requires a competent administrator to run the system and most companies won't invest in one for IBM i. They'll build an army for the Microsoft servers, but not for IBM i.

Jim Oberholtzer
Chief Technical Architect
Agile Technology Architects


On 10/17/2011 7:07 AM, Joe Pluta wrote:
On 10/17/2011 5:40 AM, Jim Oberholtzer wrote:
> Richard,
>
> You don't really need another subsystem. What you need to do is add
> another subsystem memory pool. Steps are:
> CHGSHRPOOL POOL(*SHRPOOL12)
> SIZE(3000)
> ACTLVL(10)
> PAGING(*CALC)
> TEXT('For my Java Jobs')
> Pick a shared pool, size, and activity level (number of jobs that will
> be active at once) that makes sense to you.
> Add the memory to the subsystem in question. I picked QBATCH, use the
> correct one for you.
>
Jim, the only issue I've had with shared pools is that the system wants
to tune them. I fI want a completely autonomous pool, I tend to add it
to the subsystem itself, like this:

CHGSBSD SBSD(JVMSBS) POOLS((1 128000 10))

The system won't try to change the size on me. I'm not sure this is the
best approach for the OP, but I find that especially in the case of Java
it really helps to segregate the paging. JVMs and IBM i paging don't
coexist very well, it seems.
--

As an Amazon Associate we earn from qualifying purchases.

This thread ...

Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.