As far as I see, "memory" isn't your problem. You
assume that it is, but you have not tested that assumption. All that you
know is that "the server is acting really slow lately."
When diagnosing a general slowdown, what you want to do first is to observe what is causing the various processes on the system to
wait. If you find that they are waiting in a swap-wait, then yes, you have a memory constraint. But if you find that they are waiting for general disk I/O, maybe you have another problem. (Look at
hdparm ... is DMA "on" as it should be, for example?) Look at the system logs, such as
/var/log/messages, for any clues.
You might have an actual hard-disk problem... check out
smartctl and
smartd, which provide a way to run onboard diagnostics on a hard-drive
without shutting down the system.
You might have a network hardware malfunction ... an excessive number of retries, or collisions, as shown by
ifconfig.
In short, it's easy to run after "red herrings." You
assume what "must" be the cause and fail to notice that you haven't systematically eliminated possibilities. I've done it many times myself.