jon_bovi
jon_bovi

Reputation: 71

What is the best way to detect memory leaks in a PyQt application?

I am developing a PyQt desktop application, on Linux, to be used in an industrial setting. It is basically a sensor data logger which displays real time graph and saves the data into a database. As it must run continuously 5 x 24 hours per week, I need to make sure there is no memory leak for it to run smoothly.

So, what is the best way to detect memory leaks in my application?

Upvotes: 0

Views: 3220

Answers (1)

Alexander
Alexander

Reputation: 17335

Memory Profiling Using tracemalloc

tracemalloc is a package included in the Python standard library.

It provides detailed, block-level traces of memory allocation, including the full traceback to the line where the memory allocation occurred, and statistics for the overall memory behavior of a program.

tracemalloc can be used to locate high-memory-usage areas of code in two ways:

  • looking at cumulative statistics on memory use to identify which object allocations are using the most memory, and
  • tracing execution frames to identify where those objects are allocated in the code.

A link for the documentation and PEP are below. Both provide excellent instructions on how to detect anomalies in Pythons memory management.

Upvotes: 1

Related Questions