libgfapi-python icon indicating copy to clipboard operation
libgfapi-python copied to clipboard

Memory leak when mounting volumes?

Open OskarPersson opened this issue 9 years ago • 2 comments

Is there a memory leak in the API? Running the script below from the python interpreter results in a very high memory usage that stays high until exiting the python interpreter.

#foo.py

from gluster.gfapi import Volume

def main():
    for _ in xrange(20):
        v = Volume("master", "glustervolume")
        v.mount()
        v.umount()

if __name__ == "__main__":
    main()

This can also be seen using the vprof memory profiler

$ vprof -c cmh -s bar.py

Or am I missing something?

OskarPersson avatar Jun 16 '16 19:06 OskarPersson

@OskarPersson This is a known issue present in the libgfapi C library. The python-bindings cannot do much here to do the cleanup. Freeing up all the resources during unmount is intricate and complex. It was addressed to some extent earlier and has improved over time. However there are further residual cleanups that needs to be done.

prashanthpai avatar Jul 01 '16 05:07 prashanthpai

@OskarPersson Many consumers of libgfapi C library (Samba, NFS ganesha) usually do mount once and consume the same session for all subsequent I/O operations. May I know whether your actual application workflow intends to mount and unmount multiple times ?

prashanthpai avatar Aug 11 '16 10:08 prashanthpai