Advanced Technical Support, eServer, pSeries

Virtual Memory Management – Tuning Parameter: lru_poll_interval AIX 5.3 ML1+ or AIX 5.2 ML4+
Barry J. Saad Harold R. Lee

ATS Performance Analysis

6/1/2006

© 2005 IBM Corporation

Advanced Technical Support . you notice that you have longer than normal read response times at the physical layer.ze on o n ts e t rup alu ter e v r in t t h l fo Se Pol lrud starts with a request for memory and calculated goal and runs to completion before reenabling interrupts. Range: 10 – (default) the lrud runs until the page stealing goal has been achieved. ll Po External timer event lru_poll_interval occurs s es 2 roc P n & ur et -R 3 2 ATS Performance Analysis 6/1/2006 © 2005 IBM Corporation . Monitoring with tprof. (Note: depending on the maintenance level the default value is 0. you notice that lrud is running. which indicates that lrud is running. Recommend changing to 10. x = (1 – 60000) – the lrud runs for x msecs before polling for interrupts When to Tune: Monitoring with vmstat. Monitoring with filemon. you notice that the number of processes on the block queue temporarily increase while lrud is running. an d l Set rud the wo va rks lue t o ot 0 co mp le tio n lrud starts with a request for memory and calculated goal. if you have activity in the ‘sr’ scan and ‘fr’ free columns. 1- Po pT im er Handle the timer event: lrud stops working . which is the default for later maintenance levels. Note: Each memory pool has an independent timer. Monitoring with vmstat. Complete lru_poll_interval ro .polls and processes interrupts.pSeries VMM Tunable: lru_poll_interval Purpose: Specifies the interval at which the lrud should poll for pending interrupts.

you’re telling the lrud to stop working every x msecs and poll and process any interrupts. you’re telling lrud to poll every 10 msecs (default). The hard limit is set with strict_maxperm and strict_maxclient to 1. Remember the lrud will run under the following conditions: 1. you’re telling lrud not to poll. including enough pages to get above maxfree. 2.2 and ML1 of AIX5L 5.3. maxperm and strict_maxclient numperm minperm numclient maxclient and strict_maxclient lru_poll_interval Memory Manager Tuning Parameters Kernel Counters Tuning Options By setting lru_poll_interval = 0. By setting lru_poll_interval =10. The number of frames on the free list drops below minfree. During the process the VMM will determine how many pages it needs to steal. The parameter tells the page stealer lrud whether it should stop working and poll for interrupts or continue processing until the current request for free frames has been satisfied.pSeries Virtual Memory Manager Tunable Parameter: lru_poll_interval The lru_poll_interval parameter was introduced at ML4 of AIX5L 5. Hard limit on either maxperm and/or maxclient. The process starts when the VMM needs memory and the lrud process starts running to steal memory. By setting lru_poll_interval = x (1 – 60000). 3.Advanced Technical Support . A Workload manager trigger is hit. 3 ATS Performance Analysis 6/1/2006 © 2005 IBM Corporation .

pSeries Virtual Memory Manager Tunable Parameter: lru_poll_interval When does this value need to be tuned? The reason to change the default value is that you’ve decided and/or determined that the lrud is blocking interrupts.Advanced Technical Support . you notice that lrud is running.001818 SCDISKDD iodone: rhdisk1 bp=F10001195007F400 B_READ B_AGE [13554 usec] SCDISKDD iodone: rhdisk1 bp=F10001195007AC00 B_READ B_AGE When tuning increase and decrease the value in 2-5 msec increment and note the external performance impact. which is having a negative impact on system performance. as with all tunable parameter changes. Particularly true if you can correlate to lrud running Monitoring with trace. you notice that you have longer than normal read response times at the physical layer. Monitoring with filemon.076764604 0. it is not uncommon to “pass” the optimal point in the tuning process.in this case I would use ‘vmstat’. Check the iodone hook. you notice a long time between the physical device start and the physical device iodone. Finally. Monitoring with tprof. 221 dd 221 dd 0. when you do .dial back the last set of changes and take a baseline snapshot using the the “vmo –a or vmo -L” command.001664 0. if you have activity in the ‘sr’ . If performance improves leave the parameter as set. which indicates that lrud is running. If you don’t get an end timer value the corresponding start event was most likely missed. keep in mind that your system may have multiple lrud to manage each memory pool. if available.scan and ‘fr’ free columns. you should note the behavior of the system before and after the change. lrud is a threaded application – use the ps –o THREAD –p <lrud_pid> to determine how many threads are running. Also.080413470 0. So how can we make this determination? Monitoring with vmstat. interrupts are not block during the entire time lrud is running – the daemon starts and stop numerous times as individuals requests are made. Now. If performance degrades return the parameter to the original value. which will include a end timer. 4 ATS Performance Analysis 6/1/2006 © 2005 IBM Corporation . Remember.

Sign up to vote on this title
UsefulNot useful