Trace outstanding memory allocations that weren't freed.
Trace outstanding memory allocations that weren't freed.
Supports both user-mode allocations made with malloc/free and kernel-mode
Supports both user-mode allocations made with malloc/free and kernel-mode
allocations made with kmalloc/kfree.
allocations made with kmalloc/kfree.
interval interval in seconds to print outstanding allocations
count number of times to print the report before exiting
optional arguments:
optional arguments:
-h, --help show this help message and exit
-h, --help show this help message and exit
-p PID, --pid PID the PID to trace; if not specified, trace kernel
-p PID, --pid PID the PID to trace; if not specified, trace kernel
allocs
allocs
-t, --trace print trace messages for each alloc/free call
-t, --trace print trace messages for each alloc/free call
-i INTERVAL, --interval INTERVAL
interval in seconds to print outstanding allocations
-a, --show-allocs show allocation addresses and sizes as well as call
-a, --show-allocs show allocation addresses and sizes as well as call
stacks
stacks
-o OLDER, --older OLDER
-o OLDER, --older OLDER
...
@@ -147,7 +156,16 @@ EXAMPLES:
...
@@ -147,7 +156,16 @@ EXAMPLES:
allocations every 5 seconds
allocations every 5 seconds
./memleak.py -p $(pidof allocs) -t
./memleak.py -p $(pidof allocs) -t
Trace allocations and display each individual call to malloc/free
Trace allocations and display each individual call to malloc/free
./memleak.py -p $(pidof allocs) -a -i 10 Trace allocations and display allocated addresses, sizes, and stacks every 10 seconds for outstanding allocations ./memleak.py -c "./allocs" Run the specified command and trace its allocations ./memleak.py Trace allocations in kernel mode and display a summary of outstanding allocations every 5 seconds ./memleak.py -o 60000 Trace allocations in kernel mode and display a summary of outstanding allocations that are at least one minute (60 seconds) old
./memleak.py -ap $(pidof allocs) 10
Trace allocations and display allocated addresses, sizes, and stacks
every 10 seconds for outstanding allocations
./memleak.py -c "./allocs"
Run the specified command and trace its allocations
./memleak.py
Trace allocations in kernel mode and display a summary of outstanding
allocations every 5 seconds
./memleak.py -o 60000
Trace allocations in kernel mode and display a summary of outstanding
allocations that are at least one minute (60 seconds) old
./memleak.py -s 5
./memleak.py -s 5
Trace roughly every 5th allocation, to reduce overhead
Trace roughly every 5th allocation, to reduce overhead