

Most of those containers are probably grabbing more memory than they actually need. Consider applying some resource constraints to some of them.
Dozzle is an excellent addition to your docker setup, giving you live performance graphs for all your containers. It can help a lot with fine tuning your setup.





You can also set these limits in your compose file, if you use compose (which you should).