Hi
In my DB server the memory is almost time at 90% but swap is never used.
This is as it should be.
And it's almost completely without meaning.
Modern operating systems almost always use almost all memory almost all of the time.
The reason that most memory is being used most of the time is that if the OS has nothing better to do with it RAM is allocated to filesystem buffers. As other processes have more legitimate needs for the memory it is released to them and the buffer space shrinks (to a minimum which is usually much bigger than it needs to be).
Unfortunately this means that most simple measures of memory utilization are pretty much useless.
How can I reduce RAM comsuption
Run less stuff and set discretionary memory utilization parameters (such as -B) to lower values. But you probably don't really want to do that -- it will almost certainly hurt performance.
and send some processes to SWAP?
You
really don't want to do that. Especially not on purpose. Swapping is a very, very bad thing. It is what the OS does when it would otherwise crash for lack of memory. Performance really, really sucks when you start swapping. (Actually it usually starts to suck long before you get to that point since heavy paging will occur before the OS resorts to swapping -- and heavy paging is also really, really bad for performance.)
I used Fedora Core 3
Carlos
You should look in /proc for finer grained information about your memory use. I haven't got a Linux system handy at the moment but the data is in there somewhere.
You might also want to obtain "nmon". It's a very good monitoring tool.