How to free up the memory in the best way

There's a couple things you can do. Some of them were already outlined in How can I improve Ubuntu overall system performance?. Here's a few simple suggestions you can try right now:

  1. Switch to a lighter desktop, you don't need to reinstall, you could just install a desktop session such as xfce or install metapackage for another flavor, such as Xubuntu edition with sudo apt-get install xubuntu-desktop

  2. Add more swap, either via partition or swap file. I've a script for adding swap files to make that process easier.

  3. Configure swappiness to help the system handle memory-intensive apps. See also: SwapFaq

  4. Disable certain services. Which services to disable will depend on your needs.

  5. Buy more RAM. Make sure you buy modules with correct frequency and type.

  6. Consider tuning resource usage for certain processes and niceness values
  7. Consider some of the cleanup suggestions. BleachBit is a well-known and pretty good utility for that.

I'm just answering this old post to hopefully gain some reputation points... When dealing with low memory, I use this nifty little command to clean caches and buffers, saves me from having to use swap most of the time. I only have to use this command once every 2 or 3 days. I suppose this is what you're looking for?

free -h && sudo sysctl -w vm.drop_caches=3 && sudo sync && echo 3 | sudo tee /proc/sys/vm/drop_caches && free -h