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

Reply via email to