A hitchhikers guide to troubleshooting linux memory usage

Linux memory management has always intrigued me. While learning Linux, many concepts are confusing at first, but after a lot of reading, googling, understanding and determination, I learned that the kernel is not only efficient at memory management but also on par with artificial intelligence in making memory distribution decisions.. This post will hopefully show you how to troubleshoot or at least find out the amount of memory used by Linux and an application running on it. If you have any doubts, do let me know by commenting. Finding Linux System Memory usage