× 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.



Wow! Even more excellent tuning with WRKSHRPOOL! I changed mine to be as
you suggested (below). I also changed *INTERACT to have a max % of 10,
though if I understand, that will only have an effect if QPRFADJ is turned
on (I turned mine off). So I would then assume I could turn QPRFADJ back
on and then twiddle in WRKSHRPOOL to get essentially the same effect.

In theory could I use the *SHRPOOLx entries to dole out processing to
subsystems so each subsystem was guaranteed a certain amount of memory, but
it could borrow from others if it wasn't being used? Almost like having
many IBM i instances share a processor and specifying "uncapped" (not sure
if "uncapped" is the right term) so one instance can share another's CPW if
the other isn't using it. Or would this be going down the fragment route
you mentioned (if not done carefully)?

Work with Shared Pools

Main storage size (M) . : 7973.00

Type changes (if allowed), press Enter.

-----Size %----- -----Faults/Second------
Pool Priority Minimum Maximum Minimum Thread Maximum
*MACHINE 1 8.73 100 10.00 .00 10.00
*BASE 1 12.84 100 12.00 1.00 200
*INTERACT 2 1.00 10.00 12.00 1.00 200
*SPOOL 2 1.00 100 5.00 1.00 100


Aaron Bartell
litmis.com - Services for open source on IBM i


On Wed, Jan 27, 2016 at 12:46 PM, DrFranken <midrange@xxxxxxxxxxxx> wrote:

You are on target pretty well. I do like performance adjustment turned
on but as you notice it leans HEAVILY toward Interactive since that is the
O/S' heritage. To fix that go into WRKSHRPOOL and hit F11 enough times to
get to the tuning values. Interact will have a 10% minimum so drop that to
perhaps 1 in your case. You can also lower it's priority to 2 perhaps and
raise the max faults. (Though your faults are well below the base maximum.)
You might want to even drop the max percentage to keep it from growing too
big.

Since the advent of threaded jobs the Active->Waits has become a very
large number since it reflects threads not jobs so that's no problem at all.

Having performance adjustment set at 0 is acceptable if your workload is
pretty static but if you toss in a big SQL task into a pool set too small
it may perform poorly and the O/S can't assist it.

Someone suggested setting *FIXED for the paging option but misunderstood
what that means. It doesn't fix the size of the pool rather it tells the
O/S not to observe the behavior of jobs and adjust paging to match. For
example if you are reading a file sequentially it may pull in a lot of
records if memory is available when set to *CALC but if set to *FIXED it
will not.

As cool as memory pools are be careful not to simply create a big ol bunch
of 'em or you'll fragment memory too much to be effective.

Another cool feature of pools is to pull objects into memory with
SETOBJACC. Read up on that one if interested.

- Larry "DrFranken" Bolhuis

www.Frankeni.com
www.iDevCloud.com - Personal Development IBM i timeshare service.
www.iInTheCloud.com - Commercial IBM i Cloud Hosting.



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.