By default the Linux OS has a very efficient memory management process that should be freeing any cached memory on the machine that it is being run on. However when it comes to Cached memory the Linux OS may at times decide that the Cached memory is being used and is needed which can lead to memory related issues and ultimately take your server of any potentially free memory. To overcome this you can force the Linux OS to free up and stored Cached memory.
If you want to clear cached memory on ubuntu run the following command from your terminal
sync; sudo echo 3 > /proc/sys/vm/drop_caches
If you want to run this command every one hour you can use crontab to run this
Thanks to john for this tip