** Description changed: + [Impact] + + * nova-compute service which uses python-libvirt continuously grows the heap size + + + + [Test Case] + + * using valgrind tool can detect memory leak, valgrind --leak- + check=full /usr/bin/python ./d.py + + [Regression Potential] + + * patch ported from upstream. + + + [Other Info] + + * This bug fix has been fixed upstream http://libvirt.org/git/?p=libvirt-python.git;a=commitdiff;h=4acfb169400497da2a82a849dc8aaa65f88ac6d1 + + + We found a symptom like memory leak of nova-compute. Even though there are no activities of OpenStack, the heap of nova-compute continuously grows as approximately 100KB/sec. After running for a week the virtual space size of nova-compute almost reached 2.5GB. The initial size was around 1.6GB. Is this bug at upstream? And if this is bug, is there workaround or solution to avoid memory leak. The following is detail information root# while true; > do > date > pmap -x 8506 | head > sleep 60 > done Tue Sep 2 08:32:28 UTC 2014 8506: /usr/bin/python /usr/bin/nova-compute --config-file=/etc/nova/nova.conf --config-file=/etc/nova/nova-compute.conf Address Kbytes RSS Dirty Mode Mapping 0000000000400000 2804 1832 0 r-x-- python2.7 00000000008bc000 4 4 4 r---- python2.7 00000000008bd000 468 368 252 rw--- python2.7 0000000000932000 72 64 64 rw--- [ anon ] 0000000000cdc000 19948 19708 19708 rw--- [ anon ] *** heap 00007f47b4000000 132 132 132 rw--- [ anon ] 00007f47b4021000 65404 0 0 ----- [ anon ] 00007f47bb7ff000 4 0 0 ----- [ anon ] Tue Sep 2 08:33:28 UTC 2014 8506: /usr/bin/python /usr/bin/nova-compute --config-file=/etc/nova/nova.conf --config-file=/etc/nova/nova-compute.conf Address Kbytes RSS Dirty Mode Mapping 0000000000400000 2804 1832 0 r-x-- python2.7 00000000008bc000 4 4 4 r---- python2.7 00000000008bd000 468 368 252 rw--- python2.7 0000000000932000 72 64 64 rw--- [ anon ] 0000000000cdc000 20080 19840 19840 rw--- [ anon ] 00007f47b4000000 132 132 132 rw--- [ anon ] 00007f47b4021000 65404 0 0 ----- [ anon ] 00007f47bb7ff000 4 0 0 ----- [ anon ] Tue Sep 2 08:34:28 UTC 2014 8506: /usr/bin/python /usr/bin/nova-compute --config-file=/etc/nova/nova.conf --config-file=/etc/nova/nova-compute.conf Address Kbytes RSS Dirty Mode Mapping 0000000000400000 2804 1832 0 r-x-- python2.7 00000000008bc000 4 4 4 r---- python2.7 00000000008bd000 468 368 252 rw--- python2.7 0000000000932000 72 64 64 rw--- [ anon ] 0000000000cdc000 20080 19848 19848 rw--- [ anon ] 00007f47b4000000 132 132 132 rw--- [ anon ] 00007f47b4021000 65404 0 0 ----- [ anon ] 00007f47bb7ff000 4 0 0 ----- [ anon ] Tue Sep 2 08:35:28 UTC 2014 8506: /usr/bin/python /usr/bin/nova-compute --config-file=/etc/nova/nova.conf --config-file=/etc/nova/nova-compute.conf Address Kbytes RSS Dirty Mode Mapping 0000000000400000 2804 1832 0 r-x-- python2.7 00000000008bc000 4 4 4 r---- python2.7 00000000008bd000 468 368 252 rw--- python2.7 0000000000932000 72 64 64 rw--- [ anon ] 0000000000cdc000 20232 19992 19992 rw--- [ anon ] 00007f47b4000000 132 132 132 rw--- [ anon ] 00007f47b4021000 65404 0 0 ----- [ anon ] 00007f47bb7ff000 4 0 0 ----- [ anon ] - - Software versions ii nova-common 1:2014.1.2-0ubuntu1.1 all OpenStack Compute - common files ii nova-compute 1:2014.1.2-0ubuntu1.1 all OpenStack Compute - compute node base ii nova-compute-kvm 1:2014.1.2-0ubuntu1.1 all OpenStack Compute - compute node (KVM) ii nova-compute-libvirt 1:2014.1.2-0ubuntu1.1 all OpenStack Compute - compute node libvirt support ii python 2.7.5-5ubuntu3 amd64 interactive high-level object-oriented language (default version) - nova-compute.conf [DEFAULT] compute_driver=libvirt.LibvirtDriver [libvirt] virt_type=kvm - - nova.conf [DEFAULT] scheduler_default_filters = RetryFilter,AvailabilityZoneFilter,RamFilter,CoreFilter,ComputeFilter,ComputeCapabilitiesFilter,ImagePropertiesFilter,DifferentHostFilter,SameHostFilter dhcpbridge_flagfile = /etc/nova/nova.conf dhcpbridge = /usr/bin/nova-dhcpbridge logdir = /var/log/nova state_path = /var/lib/nova lock_path = /var/lock/nova force_dhcp_release = True iscsi_helper = tgtadm libvirt_use_virtio_for_bridges = True connection_type = libvirt root_helper = sudo nova-rootwrap /etc/nova/rootwrap.conf verbose = True ec2_private_dns_show_ip = True api_paste_config = /etc/nova/api-paste.ini volumes_path = /var/lib/nova/volumes enabled_apis = ec2,osapi_compute,metadata auth_strategy = keystone rpc_backend = rabbit rabbit_host = xxx.xxx.xxx.xxx rabbit_password = ********* my_ip = yyy.yyy.yyy.yyy vnc_enabled = True vncserver_listen = 0.0.0.0 vncserver_proxyclient_address = yyy.yyy.yyy.yyy novncproxy_base_url = http://zzz.zzz.zzz.zzz:6080/vnc_auto.html glance_host = xxx.xxx.xxx.xxx network_api_class = nova.network.api.API security_group_api = nova firewall_driver = nova.virt.libvirt.firewall.IptablesFirewallDriver allow_same_net_traffic = False multi_host = True send_arp_for_ha = True share_dhcp_address = True public_interface = bond0 network_size = 256 block_device_allocate_retries = 360 block_device_allocate_retries_interval = 5 network_manager = nova.network.manager.FlatDHCPManager flat_network_bridge = br100 flat_interface = bond1 libvirt_images_type = rbd libvirt_images_rbd_pool = volumes libvirt_images_rbd_ceph_conf = /etc/ceph/ceph.conf rbd_user = cinder rbd_secret_uuid = xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx [database] connection = ********* [keystone_authtoken] auth_uri = http://xxx.xxx.xxx.xxx:5000 auth_host = xxx.xxx.xxx.xxx auth_port = 35357 auth_protocol = http admin_tenant_name = service admin_user = nova admin_password = ********* [osapi_v3] enabled = True
-- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to 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/libvirt-python/+bug/1365250/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs