This article is from the Frequently Asked Questions for Linux, the Free/Open Source UNIX-like operating system kernel that runs on many modern computer systems. Maintained by David C. Merrill with numerous contributions by others. (v1.0).
A: The "free" figure printed by free doesn't include memory used as a disk buffer cacheshown in the buffers column. If you want to know how much memory is really free add the buffers amount to free. Newer versions of free print an extra line with this info.
The disk buffer cache tends to grow soon after starting Linux up. As you load more programs and use more files, the contents get cached. It will stabilize after a while.