What's eating my RAM?

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.





Your Privacy

By clicking "Accept Non-Essential Cookies" you agree ACCU can store non-essential cookies on your device and disclose information in accordance with our Privacy Policy and Cookie Policy.

Current Setting: Non-Essential Cookies REJECTED


By clicking "Include Third Party Content" you agree ACCU can forward your IP address to third-party sites (such as YouTube) to enhance the information presented on this site, and that third-party sites may store cookies on your device.

Current Setting: Third Party Content EXCLUDED



Settings can be changed at any time from the Cookie Policy page.