Comment 43 for bug 919801

Revision history for this message
JaSauders (jasauders) wrote :

I just experienced some monumental slowness on my work laptop, which is a Latitude E7440 that came with Ubuntu on it from Dell. Intel i5, 8GB RAM, SSD, and still I felt like I was on a Pentium 4 rig. The slowness got worse over time, but I did my best to ignore it. I just didn't understand how my laptop was running so bad when a Pentium Dual Core system I have at home on a spinning hard drive was wildly faster with the same installation of 14.04 with the same flash drive/ISO.

Reading through the above responses some users talked about removing the old zeitgeist database, which would force zeitgeist to rebuild a new one. Someone mentioned that they noticed a speed improvement when removing their ~180 MB instance of zeitgeist. I checked mine... 1.3 GB! Yes, 1.3 GB was tied up with zeitgeist. While I do use my laptop all throughout my work day, every day, it still surprised me as I haven't even had it for a full year yet. This is a bit concerning, as it feels somewhat inevitable that users will face a slow down over time - it just depends on your usability, as you may never see it or it may be far enough into the future where you likely already rebuilt your system on a newer install.

That said, I removed all of the files in there and boom. Much, much better. While my initial database size was in the kilobytes, once I rebooted it came up to about 48 MB. It's sitting now at 50.0 MB and hasn't risen at all (yet) despite me searching for multiple folders, files, and applications in the dash itself. I'm hoping it's quite a long time before I see zeitgeist hitting the gigabyte mark again...

Clearing this out made Unity significantly faster to work with. It, honestly, restored a lot of my joy with using Unity. This process felt similar to nuking the cache in a web browser. Just to fire out some thoughts in case they are of any assistance with generating ideas, perhaps there's a way within the zeitgeist sqlite database to automatically purge older items once the database hits its cap size. Let's say we set the cap at (pulling a random number out here) 100 MB. Once we roll over to 101 MB, the data in the initial 1 MB slice would get purged. Sort of like a logrotate setup. Or, of course, it could auto purge once a week on an anacron basis. That might be acceptable as well. (from an end user point of view, either way would be acceptable, but I'm not sure what technicalities exist that would dictate one choice over the other).

Either way, there's no reason to have end users worrying about purging the database Unity relies on. Without this workaround, users experiencing Unity slowness are simply stuck with a slow Unity interface. This surely is not a preferred experience by any stretch. Unity 7 is not going anywhere as per Canonical's decision to have Unity 7 defaulted on the next few short term releases, including the current already-released 14.04 LTS. As a result, (I cannot emphasize this enough), I hope this isn't a "wait for Unity 8" type of solution.