%memused is worked out based on %memfree of total RAM, although you may see it as used from the outputs, cached is by no means anywhere near to used. You cannot use this value for monitoring until your no longer using cache.
If you reboot your machine it will clear the cached memory down, however you can't reboot your machine every 5 minutes to keep that low as cache builds up again.
I have a server with 32GB RAM, its only using 2GB and 29GB is cached, showing 1GB free, however if an application requires more memory it will used cached memory before it goes into swap.
Quote:
I have to find out some way to fix it...
I think you need to think again about this, it is not a problem that needs fixing, this is your box running at its optimal performance. Your alarm is triggered due to a result that is not entirely representative of what your looking for.