We have a docker image with supervisord running in daemon mode which in turn spawns 5-7 processes.
This docker image is run inside a single container pod in our Kubernetes clusters.
We suspect we have a memory leak in one of the sub-processes so we started investigating with profilers, but everything seems fine memory-wise.
We got to a point where we've decided to try and kill process by process to see if memory is being cleaned out, but running kubectl top showed that the memory only increased!
We suspect it has something to do with supervisord not cleaning processes' memory as it should, but also Kubernetes memory usage reflection could be incorrect in case of multiple processes in a single container?
We are aware that running top or free or any other tools that draw information from /proc/meminfo are useless, but perhaps somebody can clarify a bit on the subject since we didn't find many many use-cases of using supervisord inside a Kubernetes pod instead of having multiple single-process containers inside a pod.