Best practices for containerized SeisComP deployment

@jabe sqlite makes much more sense, thanks for the idea. With this approach the memory usage seems back to normal. Assuming the behaviour is the same for XML and database inventories (i.e. everything is read into memory at startup) it does look like the XML reader might have a leak.

@koymans Thanks for your reply. Subsetting the inventory for individual modules makes sense, I’m sure we could also benefit from this kind of optimization.

I do not think that it has memory leaks, it is just that the operating system does not claim back the memory allocated by the app which is not used anymore but maybe in the future. Furthermore XML parsing includes many small memory allocations which probably leads to higher memory fragmentation and releasing the memory is then much more difficult. You can run any app with valgrind and check for real memory leaks, e.g. valgrind --leak-check=full scautopick.

Checked with heaptrack, you’re right, the memory is freed, just not yet unmapped by the allocator.

So XML should be fine for our purposes :slight_smile:

2 Likes

Thank you for the confirmation.