On Fri, 2010-04-16 at 18:36 +0900, Kan-I Jyo wrote: > Dear List, > According to the following Red Hat KB, it seems that the default > value, which goes to "100", > means that all the physical memory pages could 'possibly' be used as a > pagecache. > - DOC-2131 > http://kbase.redhat.com/faq/docs/DOC-2131 > It is to my curiousity that even I lower the value to '10', pagecache > will still try to fill all the memory pages out.
In the KB article, as well as elsewhere, understand (and I'll quote the KB): "This value represents the maximum percentage of memory that the pagecache is allowed to use before the kernel reclaims memory (primarily from the pagecache ) when memory must be reclaimed." It's the percentage where the kernel starts to reclaim memory. It's a threshold, not a limit. Many aspects of paging and virtual memory work in this manner. For performance reasons, during the actual operations, buffers, caching and paging may exceed these these thresholds. Buffers can really be killer on memory usage, and are not related to caching and paging. It all depends on your I/O. > I am just wondering if there were anything I missed to make it work > right. Another, related tunable you may be interested in is: vm.min_free_kbytes It's set very low, only a few dozen MiB (16-64MiB is typical). I've increased this (along with select others, like the ratios) so the system isn't hit with a great number of drop cache and, worse yet, dirty buffer flushes, when the system needs to allocate and utilize memory in short-order. Normally the kernel is very good at dealing with the balance, but some programs are ... and I'll use the word ... "abusive" in their expectations for heap, buffers, etc... on-demand. The ratios and other, inter-related tunables are also of interest. Heck, sometimes swappiness and the dirty_* are in order as well. In reality, there are many page and VM tunables, and playing with them may help you reach an optimal effect on your system. Section 3.3 in the Deployment Guide for 5.5 goes through many of them: http://www.redhat.com/docs/en-US/Red_Hat_Enterprise_Linux/5.5/html/Deployment_Guide/s3-proc-sys-vm.html For those with training budgets (even if you don't believe in certification), I highly recommend RH442 (one does _not_ need to be a RHCE to sit the class): https://www.redhat.com/courses/rh442_red_hat_enterprise_system_monitoring_and_performance_tuning/details/ As someone with a EE w/computer option and CS minor, who has had the classic software engineering and OS design courses (yes, even Tannebaum's materials), the RH442 is a practical dissection of a real OS -- currently the components of RHEL 5 (which apply to all equivalent Linux releases as well) -- and how to analyze, explain and tune it. I highly recommend it for any seasoned Linux sysadmin who wants to go deeper, much deeper (and I advocate it be used as lab material in a more theoretical EE/CS program in a class on OS design, because it's just that good). Absolutely best, technical class I've ever had, period. -- Bryan J Smith Senior Consultant Red Hat, Inc Professional Consulting http://www.redhat.com/consulting mailto:[email protected] +1 (407) 489-7013 (Mobile) mailto:[email protected] (Blackberry/Red Hat-External) -------------------------------------------------------- You already know Red Hat as the entity dedicated to 100% no-IP-strings-attached, community software development. But do you know where CIOs rate Red Hat versus other software and services firms for their own, direct needs, year after year? http://www.redhat.com/promo/vendor/ _______________________________________________ rhelv5-list mailing list [email protected] https://www.redhat.com/mailman/listinfo/rhelv5-list
