By Jianfei PAN
Efficient memory utilization is a critical aspect of software running in a multi-tenant environment, where resources are shared amongst different processes. Unlike languages with automatic memory management, C++ allows manual memory management. Developers have control over when memory is allocated and released, which can lead to more efficient resource usage, but also can lead to mistakes causing problems in memory.
You plugged new code in for a fancy feature and all functional tests were green! You clicked the deploy button and 10 minutes later an alarm came: machine memory usage reached 90%…Things get even more complicated when you work on a project with numerous contributors: How do you know which of the latest commits resulted in your process eating up all the memory of the OS and never releasing it back.
In this talk, I will try to put some useful pieces from the real world together into a comprehensive picture from the perspective of a novice C developer. By the end, you'll have a basic understanding of C memory allocation, an awareness of potential memory issues, and the knowledge to leverage tools for profiling and analyzing your C++ applications.