This problem has been driving me nuts. It gets worse over time, suggesting a leak someplace. Other evidence for a leak, the unity-panel-service heap grows from 21MB on boot to 350MB or more after a few days of uptime.
I profiled the system several times using sysprof (see attached profile). The profiles consistently show that almost all time is spent in a pair of gobject methods (handlers_find() and handler_lookup()). The code in these methods traverses a linked list of 'handlers', suggesting that those lists are growing large.
Some cursory poking around in gdb confirms that the lists being traversed are very large - at least tens of thousands of elements. I'm not yet sure why they are growing so big or what's in them.
This problem has been driving me nuts. It gets worse over time, suggesting a leak someplace. Other evidence for a leak, the unity-panel-service heap grows from 21MB on boot to 350MB or more after a few days of uptime.
I profiled the system several times using sysprof (see attached profile). The profiles consistently show that almost all time is spent in a pair of gobject methods (handlers_find() and handler_lookup()). The code in these methods traverses a linked list of 'handlers', suggesting that those lists are growing large.
Some cursory poking around in gdb confirms that the lists being traversed are very large - at least tens of thousands of elements. I'm not yet sure why they are growing so big or what's in them.