What's eating my RAM?

Jianfei PAN

⏱ 90 minute session
beginner
intermediate
11:00-12:30, Thursday, 18th April 2024
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.

🏷 C++
🏷 memory
🏷 profiling

Jianfei PAN

Jianfei PAN is a Software Engineer at Bloombreg on the Multi-Asset Risk System (MARS) Pricing platform team, having joined 1.5 years ago. In addition to enhancing product features, he is focused on optimizing service performance and resource utilization. His interests include: C++, Scala and more.