This is not normal when your VSZ memory envelope grows, when you process your data in a thread-oriented manner and, moreover, for RES (% MEM), which usually should stabilize in your application.
Therefore, I would strongly suspect that cross-references to data are stored around (for example, in a hash) or (which is less likely) that circular links are generated.
See this post, “are there any tools for finding memory leaks in my perl program” for tips on tracking variables (whether in your code or in the module you use) increase memory or keep cross-references.
vladr source
share