Memory usage shown is high

Hello all,
I am facing a memory related issue on my linux that is CentOS 4.0. What I see as an output of top command, free command is that memory usage is almost 90% which is quite high without much load on the system. This is continuously showing 90% or so of memory usage with top or free command.

However, when look at the later part of the output of the top command that is for processes (and sort it by %MEM usage by typing interactive M) and I sum up for individual processes, it is hardly exceeding 15%. The sum of %MEM is about 13% for the top 5 or 6 processes and beyond the 6th process, %MEM displayed is 0 (0%).

How do we explain this anomaly ? If the memory usage reported by top and free is fine, how do I find where the memory is being used? Also, what is the perfect way to find how much actual physical memory is being used by the system ?

What command do you type ?
Could you please post the output you get ?

Time to read up on memory paging or your O/S. The simple concept of concatonated memory occupancy in unix is long-gone. It is much more sophisticated nowadays and adding up the memory request slips from running programs could easily exceed the memory fitted. The "top" program does not itemise memory allocated dynamically to system buffers.
In your case I suspect that the system is using spare memory for disc buffering and (perversely) swap space. What matters in performance analysis is whether there is a queue for a resource.