One of my hosted server is a Xen guest running Debian and linux kernel 2.6.32 then 2.6.38. It has been running fine for quite some time (more than a year) but I recently noticed something weird. For a few months, the part of the memory allocated to buffers (disk I/O, network) always stays at zero.
The output of free is looking like that:
total used free shared buffers cached Mem: 2071148 1775284 295864 0 0 1139388 -/+ buffers/cache: 635896 1435252 Swap: 524280 19508 504772
buffers column always print 0, no matter the usage of the server (this is quite a busy mail server running postfix and courier).
Here is some more information:
atsar -p(paging/swapping) output from a regular day: http://pastebin.com/VwLdf1L1 (it shows there is little swapping involved)
I also have the impression, but I cannot really measure it, that the system is slow at reading some files, files that are barely used or big files like logs. Hence my wondering if this
buffers memory could be misconfigured in some way and that the disk throughput could be increased.
However, it seems there is no linux kernel parameter to govern that
buffers memory, at least nothing like the parameters that exist for the
cached memory. Or maybe I missed something?
How can this memory always be zero? Is this something I should worry about? How can I possibly change this behavior to put some RAM to better use if it is actually feasible?
Update: After a kernel upgrade (2.6.38 custom kernel from my provider), the behavior remains the same with buffers staying at 0. This is lasting for more than a year now, with the server being quite heavily used (mail server for about 2 hundred users). This server has been running Debian 6 and is now happily running Debian 7. Buffer memory still remaining at 0!