I'm working on reducing memory use in packagekitd, and so far progress
has been very good. I've opened 4 memory-related PRs against PackageKit
and libdnf this week, and locally I've reduced memory use at idle by
almost 90% (I can reliably cause stock packagekitd to use ~ 700MB of RAM
in a couple of minutes, but a patched version will free most of its
memory and shrink to around 75MB.)
However, I've hit a possibly minor road block. I haven't fixed all of
the leaks originally reported; valgrind still reports some leaks in my
patched builds, but most of the call stack is unresolved, so I can't
locate the problems in order to address any remaining issues.
I'm running 'valgrind --leak-check=full --num-callers=25
/usr/libexec/packagekitd', running for a while, and then exiting with
Ctrl-C. When I exit, I get a list of leaks, most of which contain
unresolved symbols. I see the same thing when I run Fedora's builds (in
which case, debug info appears to be provided by debuginfod-client), or
when I run my own builds (in which case I'm installing the debuginfo and
debugsource packages produced by the local build.)
Does anyone have any hints for improving the information I get from
valgrind?