Dear Mr. Juan
In the distant past, I used to encounter this same issue as you do but I later found the solution by consulting an IBM Rochester expert (I forget who as this happended some 20 years ago or so).
The cause of the issue is that the adjuster over-reacts too fast on the memory faulting rate due to the default values of memory pool parameters in WRKSHRPOOL. So, we need to adjust these values away from their defaults.
One of the most frequent problem in my past experience is that *MACHINE pool memory was reduced too much by the adjuster and became the cause of overall performance degradation because LIC tasks running in this important memory pool do not tolerate even moderate faulting rate. The solution is to use WRKSHRPOOL + F11 to set the MINIMUM memory size of *MACHINE pool to the value that is about 2.5 times of its RESERVED SIZE (seen from WRKSYSSTS screen at a period of peak/high workload). You then set the MAX memory size at just 0.1 or 0.2 % higher than the minimum. This helps ensure LIC tasks has sufficient memory most, if not all, the time.
Next is to INCREASE the MINIMUM Faults/Second value of the pool at issue to a value much higher than the default value of 10 which causes the adjuster to overreact to the faulting and start memory adjustment too soon. This will address your statement in the RFE that "
some jobs page a lot but they are not using the memory". The proper value to increase to can be found by your observation of the faulting rate happening when that job at issue runs. You may need to adjust this value a bit further a few more times until the adjuster stop overreacting to your satisfaction. You may also need to increase the corresponding max value of the pool if the min value exceeds the default max value. I normally specify 100 more over the min value.
Next optional action is to also REDUCE the priority of the memory pool at issue which may also help decrease the reaction of the adjuster further.
This "Experience Report" provides technical information explaining the reason behind my suggestion : https://www.ibm.com/docs/en/i/7.1?topic=reports-performance-adjuster-qpfradj
I use this method and it satisfies most of the cases I handled in the past for my IBM i customers. I hope this also works for you while you wait for your RFE to take effect.
Regards
Satid S.
------------------------------
Satid Singkorapoom
------------------------------
Original Message:
Sent: Tue February 22, 2022 11:11 AM
From: Juan Manuel Alcudia Peñas
Subject: Performance Adjuster Algorithm RFE
I wonder why this RFE about changing the performance adjuster algorithm is not voted much when is a problem that I see in many customers:
https://www.ibm.com/developerworks/rfe/execute?use_case=viewRfe&CR_ID=133862
The adjuster works like this: When a job is paging the adjuster gives more memory to the pool no matter if it needs more or not. This behavior normally ends with one pool, normally the INTERACTIVE one growing a lot without using the memory. I know that there are methods to mitigate this like playing with the % of memory that can use a pool via WRKSHRPOOL + F11 Display tuning data, but still is a no sense to give memory to a pool that doesn't need it.
The new algorithm probably will need to see something more than Faults/second to move the memory between the pools. Allocated memory maybe?
We still agree this is an important request are hoping to make some improvements.
So I will encourage you to vote this RFE if you want to have better performance on your machines.
------------------------------
Juan Manuel Alcudia
CD-Invest
IBM Champion
------------------------------