Closed monich closed 9 years ago
What application have you used to monitor memory usage? Daemon does not directly allocated any unsafe memory that can be leaked. This is either non-proper qobject live cycle, or sql db related cache.
This is a part of the endurance report generated by crash reporter:
https://github.com/mer-qa/crash-reporter
The process memory usage snapshots are taken from /proc fs, I believe. In any case, this information is coming more or less directly from the kernel, you can trust the numbers. I suggest you to profile your daemon with valgrind. Directly or indirectly, it is leaking memory.
Memory usage grows in the sqlite code. It's easy enough to notice by running your systemmonitord under valgrind --tool=massif. Nothing points to any leaks in your code. So I guess it's not directly your fault but there might be some sort of workaround for it.
That's sqlite cache. The default size is 2MB. Once it reaches 2MB is stops growing. If you don't need that much cache (and you probably don't) please consider reducing it using the PRAGMA cache_size statement:
http://www.sqlite.org/pragma.html#pragma_cache_size
Not really an issue. Closing.
Better yet, you don't have to do anything at all. In update13 the default sqlite cache size will be reduced from 2MB to 500KB for all processes including yours.