The approach that we have been taking more recently is incremental CMM commands.  Large CMM "flush" operations were very expensive in that any pages out on paging device had to be paged in before being "flushed". Things "froze" during the flush.  Doing a few incremental CMM commands each minute keeps the servers fresh, with their storage size meeting the workload requirements. zVRM (Velocity Resource Manager) evaluates all servers every minute and will pick the top candidates for CMM, and increase the CMM "balloon" incrementally.  This minimizes impact and returns unused pages back to the VM page list.  Automation is the key buzz word today.  Automating Linux storage management with a resource manager helps a lot.   Oh, and overhead is negligible.

Contact me direct if you would like to understand more.


On 8/28/2024 5:19 PM, Rodriguez-Bell, Ted wrote:
For a long time we've tried to reduce VM page thrashing by running cmmflush on 
all our non-production servers at night.  Cmmflush is a script that Rob van der 
Heij wrote about a decade ago that goes through the Linux cache looking for 
pages that it wants to return to VM.  We run it in the wee hours on most dev 
systems trying to kick things out of the Linux buffer cache because double 
buffering leads to bad performance.  Our memory is also heavily overcommitted 
in dev.

Recently, we found a serious problem that cmmflush might be causing and IBM via 
Suse recommended that we just stop.  They say that newer versions of the kernel 
have background cmma flushing enabled by default, and if it's working we 
shouldn't need cmmflush.  A Redhat bug report I found says that one shouldn't 
use old-style CMM (like cmmflush) and hot-pluggable memory together; we do.  
So:  should we just retire cmmflush?  How do we make sure that the newer cmma 
is enabled?  It's supposedly the default but I don't see it in /proc/cmdline on 
any guests where I've looked.  Are there kernel parameters in /sys we should 
look for?

In case you're not familiar with it, cmmflush pretty much freezes the server as 
it runs through the buffers. We already don't do it if there's software that 
doesn't like it.  The new problem was that a  few servers with an application 
that had filled more than half of swap lost their primary network interfaces.  
We couldn't recover the network so we had to just halt and reboot the servers.  
The problem seemed to start right after cmmflush ran.  We're not certain that 
cmmflush caused the problem but the correlation is striking.

I don't want to sound like I'm criticizing Mr. van der Heij for this at all.  
cmmflush was a big help when we started using it.   If we missed updates that 
made it unnecessary that's on us.

Rob's presentation at SHARE 2013:  
https://share.confex.com/share/121/webprogram/Handout/Session13486/2013-13486.pdf
IBM kernel docs:  cmma - Reduce hypervisor paging I/O overhead - IBM 
Documentation<https://www.ibm.com/docs/en/linux-on-systems?topic=kp-cmma-2>
Redhat bug report (membership needed):  
https://access.redhat.com/solutions/4621911

Ted Rodriguez-Bell
z/VM and z/Linux, Mainframe and Midrange Services

Wells Fargo | 333 Market St, Floor 10, San Francisco, CA 94105-2102
MAC A0109-103 | 415-516-7913 mobile,  
4155167...@vtext.com<mailto:4155167...@vtext.com> or 
http://www.vtext.com<http://www.vtext.com/> text paging
te...@wellsfargo.com<mailto:te...@wellsfargo.com>

Company policy requires:  This message may contain confidential and/or 
privileged information.  If you are not the addressee or authorized to receive 
this for the addressee, you must not use, copy, disclose, or take any action 
based on this message or any information herein.  If you have received this 
message in error, please advise the sender immediately by reply e-mail and 
delete this message.  Thank you for your cooperation.


----------------------------------------------------------------------
For LINUX-390 subscribe / signoff / archive access instructions,
send email to lists...@vm.marist.edu with the message: INFO LINUX-390 or visit
http://www2.marist.edu/htbin/wlvindex?LINUX-390


----------------------------------------------------------------------
For LINUX-390 subscribe / signoff / archive access instructions,
send email to lists...@vm.marist.edu with the message: INFO LINUX-390 or visit
http://www2.marist.edu/htbin/wlvindex?LINUX-390

Reply via email to