The super rough formula for apache/php memory footprint is: (number of worker processes) x (max memory per worker process). It doesn't actually matter if they're apache child processes running mod_php or php-fpm processes.
For instance if you're running regular old apache pre-fork mpm with the default
MaxClients setting (256) and your php.ini's
memory_limit setting is 128MB then your overall apache memory footprint can get as high as 32GB!
Now if your server is basically idle with no traffic it won't get there, but it really only takes one request to one wordpress (or drupal or whatever) page for one worker process to allocate most of that 128MB. When you factor in that browsers make multiple requests in parallel, you could easily see a simple setup shooting up to 1GB on just a few pageviews.
In the real world its usually not quite that bad because even though each of your worker processes will try to allocate that memory, the kernel is smart enough to realize that 80% of what they're loading is the same stuff so they can just think they have their own copy of wordpress in memory when really they're sharing one.
Therefore, to answer your question of how to get apache to use less ram, simply lower one or both of those numbers until you're happy with the memory footprint (and of course your sites still work). I personally like to set my MaxClients to 4x the number of cpu cores available on the machine.
I do feel the need to point out though that you should consider the fact that your best option is likely to do nothing. Many people bring a falsely-economizing mentality to memory consumption thinking that if its 90% in use that represents some kind of waste or problem. Really its the opposite! If the purpose of this server is to respond to http requests with the results of dynamic php responses, then it should be using 90% of the memory to do that. To leave the memory empty/available would be to waste it. The trick is to tune things so that you use most of your memory, but leave just enough to not cause swapping.