At least python-libvirt, which nova-compute uses, seems to leak memory when handling XML data. Find the file d.py attached which reproduces a similar problem.
ii python-libvirt 1.2.2-0ubuntu1 amd64 libvirt Python bindings valgrind can detect "definitely lost". # ps -ef|grep d.py root 25578 17888 24 14:40 pts/0 00:00:03 python ./d.py 100000 root 25594 25581 0 14:41 pts/2 00:00:00 grep --color=auto d.py # pmap -x 25578|head 25578: python ./d.py 100000 Address Kbytes RSS Dirty Mode Mapping 0000000000400000 2804 1448 0 r-x-- python2.7 00000000008bc000 4 4 4 r---- python2.7 00000000008bd000 468 260 176 rw--- python2.7 0000000000932000 72 64 64 rw--- [ anon ] 0000000001a82000 72328 72296 72296 rw--- [ anon ] 00007f0851a3a000 28 8 0 r-x-- libffi.so.6.0.1 00007f0851a41000 2044 0 0 ----- libffi.so.6.0.1 00007f0851c40000 4 4 4 r---- libffi.so.6.0.1 # pmap -x 25578|head 25578: python ./d.py 100000 Address Kbytes RSS Dirty Mode Mapping 0000000000400000 2804 1448 0 r-x-- python2.7 00000000008bc000 4 4 4 r---- python2.7 00000000008bd000 468 260 176 rw--- python2.7 0000000000932000 72 64 64 rw--- [ anon ] 0000000001a82000 87900 87848 87848 rw--- [ anon ] 00007f0851a3a000 28 8 0 r-x-- libffi.so.6.0.1 00007f0851a41000 2044 0 0 ----- libffi.so.6.0.1 00007f0851c40000 4 4 4 r---- libffi.so.6.0.1 # pmap -x 25578|head 25578: python ./d.py 100000 Address Kbytes RSS Dirty Mode Mapping 0000000000400000 2804 1448 0 r-x-- python2.7 00000000008bc000 4 4 4 r---- python2.7 00000000008bd000 468 260 176 rw--- python2.7 0000000000932000 72 64 64 rw--- [ anon ] 0000000001a82000 120676 120636 120636 rw--- [ anon ] 00007f0851a3a000 28 8 0 r-x-- libffi.so.6.0.1 00007f0851a41000 2044 0 0 ----- libffi.so.6.0.1 00007f0851c40000 4 4 4 r---- libffi.so.6.0.1 # valgrind --leak-check=full /usr/bin/python ./d.py ... ==25610== 12,682 bytes in 4 blocks are definitely lost in loss record 227 of 236 ==25610== at 0x4C2AB80: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) ==25610== by 0x5183844: xdr_string (xdr.c:788) ==25610== by 0x67E1A8D: ??? (in /usr/lib/libvirt.so.0.1002.2) ==25610== by 0x67E4CF8: ??? (in /usr/lib/libvirt.so.0.1002.2) ==25610== by 0x67FDA61: virNetMessageDecodePayload (in /usr/lib/libvirt.so.0.1002.2) ==25610== by 0x67F2AEB: virNetClientProgramCall (in /usr/lib/libvirt.so.0.1002.2) ==25610== by 0x67C7025: ??? (in /usr/lib/libvirt.so.0.1002.2) ==25610== by 0x67D0174: ??? (in /usr/lib/libvirt.so.0.1002.2) ==25610== by 0x6787907: virDomainGetXMLDesc (in /usr/lib/libvirt.so.0.1002.2) ==25610== by 0x642E41D: libvirt_virDomainGetXMLDesc (in /usr/lib/python2.7/dist-packages/libvirtmod.so) ==25610== by 0x52C6D4: PyEval_EvalFrameEx (in /usr/bin/python2.7) ==25610== by 0x55C593: PyEval_EvalCodeEx (in /usr/bin/python2.7) ==25610== ==25610== LEAK SUMMARY: ==25610== definitely lost: 12,682 bytes in 4 blocks ==25610== indirectly lost: 0 bytes in 0 blocks ==25610== possibly lost: 1,064 bytes in 2 blocks ==25610== still reachable: 791,708 bytes in 1,186 blocks ==25610== suppressed: 0 bytes in 0 blocks ** Attachment added: "d.py" https://bugs.launchpad.net/ubuntu/+source/nova/+bug/1365250/+attachment/4201086/+files/d.py -- You received this bug notification because you are a member of Ubuntu Server Team, which is subscribed to nova in Ubuntu. https://bugs.launchpad.net/bugs/1365250 Title: nova-compute memory leak To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/nova/+bug/1365250/+subscriptions -- Ubuntu-server-bugs mailing list Ubuntu-server-bugs@lists.ubuntu.com Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/ubuntu-server-bugs